在RI中,需要在不事先知道要创建的新变量数量的情况下,将数据帧的字符串变量拆分为以“->”分隔的n个变量
我们可以使用strsplit
来获取拆分后的输出list
。
lst <- strsplit(df$string, "->")
然后rbind
在list
元素末尾填充NA之后,如果元素不相等length
。
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)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句