如何按因子拆分数据框,然后按ID变量合并

时间:2014-03-03 20:38:37

标签: r merge split do.call

所以我有一个带有两个向量的数据框。时间和团队。

df <- data.frame(time=rep(seq(1:3),3), team=LETTERS[rep(1:3,each=3)])

>  time team
>1    1    A
>2    2    A
>3    3    A
>4    1    B
>5    2    B
>6    3    B
>7    1    C
>8    2    C
>9    3    C

如何按时间拆分data.frame,然后按时间将其合并?这样的事情。

>  time df.A df.B df.C
>1    1    A    B    C
>2    2    A    B    C
>3    3    A    B    C

我想出了如何使用split或dlply拆分data.frame,但是我没有使用cbind或merge将数据帧重新组合成功。

此外,每个(分组)列表的长度是不同的,因此任何帮助将NA添加到混音中也将非常受欢迎。感谢。

1 个答案:

答案 0 :(得分:2)

您可以使用reshape

> df$tmp <- df$team
> reshape(df, idvar='time', timevar='team', direction='wide')
  time tmp.A tmp.B tmp.C
1    1     A     B     C
2    2     A     B     C
3    3     A     B     C