R:Extracting个字从一栏到不同栏
R:Extracting words from one column into different columns
我已经弄清楚这个问题几个小时了。
假设我有一列包含 1-4 个单词,由 space:
分隔
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)
我已经弄清楚这个问题几个小时了。 假设我有一列包含 1-4 个单词,由 space:
分隔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)