本文介绍了扩展R中的分隔列的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我想根据第一列中的值展开或分割具有多列的大型数据框:

I'd like to expand or split a large data frame with multiple columns according to values in the first column:

这是我的输入:

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

到目前为止跨越以下解决方案 -

但我希望有人可以建议一个更直接的方法。

So far I came across the following solution -http://www.r-bloggers.com/expand-delimited-columns-in-r/but I hope someone could suggest a more straightforward approach.

我'd欣赏任何帮助。

推荐答案

尝试 cSplit ,它有一个参数分割长而不是宽:

Try cSplit, it has an argument to split long instead of wide:

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

这篇关于扩展R中的分隔列的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

09-21 06:28