【问题标题】:R:Extracting words from one column into different columnsR:将一列中的单词提取到不同的列中
【发布时间】:2023-03-28 04:42:01
【问题描述】:

我已经解决了几个小时了。 假设我有一列有 1-4 个单词,用空格分隔:

aba bkak absbs
a2aj akls bios
sad
fasa lgk
.
.
.

我希望将这些词放在单独的列中,以便于进一步处理。所以相反,这些词在一列中,我如何让它们分开列?

感谢您的帮助。

【问题讨论】:

    标签: r multiple-columns


    【解决方案1】:

    试试

    library(splitstackshape)
    cSplit(df1, 'V1', ' ')
    

    或者

    library(tidyr)
    separate(df1, 'V1', paste0('V', 1:4), sep= ' ', extra='drop')
    

    或使用base R

    read.table(text=df1$V1, sep=' ', fill=TRUE)
    

    注意:使用列名作为“V1”,数据集作为“df1”

    【讨论】:

    • 太棒了!谢谢!这帮助很大。
    • @sdgawerzswer 很高兴知道它有帮助
    【解决方案2】:

    data.table的开发版本也可以

    library(data.table) # V >= 1.9.5
    setDT(df)[, tstrsplit(V1, ' ')]
    #      V1   V2    V3
    # 1:  aba bkak absbs
    # 2: a2aj akls  bios
    # 3:  sad   NA    NA
    # 4: fasa  lgk    NA
    

    或者使用stringi(虽然你会得到一个矩阵)

    library(stringi)
    stri_split_fixed(df$V1, ' ', simplify = TRUE)
    

    【讨论】:

      猜你喜欢
      • 2022-08-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-24
      • 1970-01-01
      • 2023-03-11
      • 1970-01-01
      相关资源
      最近更新 更多