簡體   English   中英

R:將一列中的單詞提取到不同的列中

[英]R:Extracting words from one column into different columns

我已經弄清楚了兩個小時。 假設我有一列包含1-4個單詞的列,並用空格隔開:

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

我希望這些詞放在不同的列中,以便於進一步處理。 因此,這些單詞放在一列中,如何將它們分開?

謝謝你的幫助。

嘗試

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”

有了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)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM