R 如何按因子拆分数据帧,然后按ID变量合并
所以我有一个有两个向量的数据帧。时间和团队R 如何按因子拆分数据帧,然后按ID变量合并,r,merge,split,do.call,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
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
我知道了如何使用split或dlply拆分data.frame,但使用cbind或merge将数据帧重新组合在一起还没有成功
此外,每个(分割)列表的长度都不同,因此,如果您能帮助将NA添加到混合列表中,我们将不胜感激。谢谢。您可以使用
重塑
实现此目的:
> 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
>df$tmp重塑(df,idvar='time',timevar='team',direction='wide')
时间tmp.A tmp.B tmp.C
1 A B C
2 A B C
3 A B C
您的输入无法实现预期的输出,因为时间
和团队
是完全共线的。哎呀,很抱歉。刚刚更新了输入df以反映更改。您还需要更新代码。@Richard,来自库(重塑2)
,dcast(df,time~team)
。没用吗?只是用了@保罗,我来试试。。。。
> 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