1

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

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 添加到组合中的帮助也将不胜感激。谢谢。

4

1 回答 1

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
于 2014-03-03T20:59:44.960 回答