我想根据第一列中的值扩展或拆分包含多列的大型数据框:
以下是我的意见:
a1;a2;a3 X 1
b1;b2 Y 2
c Z 3
d1;d2;d3 ZZ 4
并输出:
a1 X 1
a2 X 1
a3 X 1
b1 Y 2
b2 Y 2
c Z 3
d1 ZZ 4
d2 ZZ 4
d3 ZZ 4
到目前为止,我遇到了以下解决方案 - http://www.r-bloggers.com/expand-delimited-columns-in-r/ 但我希望有人可以建议一种更简单的方法。
我很感激任何帮助。
答案 0 :(得分:5)
尝试cSplit
,它有一个参数来分割长而不是宽:
library(splitstackshape)
cSplit(mydata, "V1", direction="long", sep=";")
# V1 V2 V3
# 1: a1 X 1
# 2: a2 X 1
# 3: a3 X 1
# 4: b1 Y 2
# 5: b2 Y 2
# 6: c Z 3
# 7: d1 ZZ 4
# 8: d2 ZZ 4
# 9: d3 ZZ 4