拆分Dataframe中的每个单元格

时间:2016-03-24 18:03:31

标签: r

我使用以下格式的数据框df:

Variable    X       Y
Var1     1,2,3  .2,.3,.4
Var2     2,3,4  .2,.1,.4
Var3     2,2,1  .1,.2,.4

如果我这样做

DF $ X [1]

它会给我以下输出:

2,3,4

我想提取上面列表中的每个元素。也就是说,我想提取2,然后是3,最后是4.

我想为每个Var [i]和X以及Y.

执行此操作

我试图只为1个单元格做这个:

(df$Var1[1])[1]

所以我只得到1。但它给了我" 1,2,3"。

1 个答案:

答案 0 :(得分:1)

我们可以将cSplitmelt

中的data.table一起使用
library(splitstackshape)
melt(cSplit(df1, 2:3, ","), measure=patterns("^X", "^Y"), 
       value.name=c("X", "Y"), variable.name="time")[order(Variable)]
#   Variable time X   Y
#1:     Var1    1 1 0.2
#2:     Var1    2 2 0.3
#3:     Var1    3 3 0.4
#4:     Var2    1 2 0.2
#5:     Var2    2 3 0.1
#6:     Var2    3 4 0.4
#7:     Var3    1 2 0.1
#8:     Var3    2 2 0.2
#9:     Var3    3 1 0.4