我想知道R中是否有任何方法可以将字符串从多列拆分为多行。例如:
从以下内容中拆分:V1 V2 V3
1 A,B,C C,D,F
2 X,Y,Z V,U,
进入V1 V2 V3
1 A C
1 B D
1 C F
2 X V
.... 2 Z NA
等等。我能够将它用于第一列,但第二列只打印第一列中的重复项。我正在使用R所以我可以使用SQLite语法的R语法。谢谢!
这是我到目前为止所做的:
split<- strsplit(as.character(Start), as.character(End), split= ";")
split1<-data.frame(id = rep(dataset$id, sapply(split, length)), End = unlist(split), End=unlist(split))
答案 0 :(得分:2)
我们可以使用separate_rows
tidyr
的{{1}}
R
另一个选项是library(tidyr)
separate_rows(df1, V2, V3)
# V1 V2 V3
#1 1 A C
#2 1 B D
#3 1 C F
#4 2 X V
#5 2 Y U
#6 2 Z T
separate_rows(df2, V2, V3)
# V1 V2 V3
#1 1 A C
#2 1 B D
#3 1 C F
#4 2 X V
#5 2 Y U
#6 2 Z
cSplit
library(splitstackshape)
cSplit(df2, 2:ncol(df2), ",", "long")