如何将字符串变量拆分为R中的n个变量

时间:2016-07-15 09:24:17

标签: r split

在R中,我需要将数据帧的字符串变量拆分为由" - >"分隔的n个变量。事先不知道要创建的新变量的数量

1 个答案:

答案 0 :(得分:1)

我们可以使用strsplitlist中获得拆分输出。

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)