2017-04-04 48 views
0

我已经在论坛上看过,并且存在一些类似的问题,但每次都略有不同。所以我决定发布一个新的。我无法弄清楚这一点。在r数据框中重构/堆叠具有重复ID的列

考虑我的这些数据

id score 
1 1  3 
2 1  6 
3 2  2 
4 2  4 
5 2  3 
6 3  9 
7 3  2 

而且我希望它看起来像这样:

id  score 
1 1  3, 6 
2 2  2, 3, 4 
3 3  2, 9 

建议都非常欢迎!先谢谢你。

回答

1

aggregate()能做到这一点:

df <- read.table(header=TRUE, text= 
' id score 
1 1  3 
2 1  6 
3 2  2 
4 2  4 
5 2  3 
6 3  9 
7 3  2') 

aggregate(score ~ id, data=df, FUN=paste0) 
# > aggregate(score ~ id, data=df, FUN=paste0) 
# id score 
# 1 1 3, 6 
# 2 2 2, 4, 3 
# 3 3 9, 2