在R中,我需要将数据帧的字符串变量拆分为由" - >"分隔的n个变量。事先不知道要创建的新变量的数量
答案 0 :(得分:1)
我们可以使用strsplit
在list
中获得拆分输出。
lst <- strsplit(df$string, "->")
然后rbind
,如果list
元素不等length
,则在填充NA之后。{/ p>
do.call(rbind, lapply(lst, `length<-`, max(lengths(lst))))
如果我们需要拆分列以创建其他列,则cSplit
splitstackshape
library(splitstackshape)
cSplit(df, "string", "->")
df <- data.frame(string = c("some->thing->else", "some->thing"), stringsAsFactors=FALSE)