我有一个数据框,让我们说它就像下面的
1 2
1 3
2 4
3 2
2 1
1 7
我想把它聚合成以下形式:
1 2,3,7
2 4,7
3 2
我如何在R中做到这一点?谢谢你的帮助。
答案 0 :(得分:2)
您可以使用aggregate
,如下所示:
dat <- read.table(text="1 2
1 3
2 4
3 2
2 1
1 7")
aggregate(V2 ~ V1, dat, paste, collapse = ", ")
## > aggregate(V2 ~ V1, dat, paste, collapse = ", ")
## V1 V2
## 1 1 2, 3, 7
## 2 2 4, 1
## 3 3 2
或(根据贾斯汀的提问)使用c
代替:
aggregate(V2 ~ V1, dat, c)