我是R编程的新手,我正在尝试重新排列数据框。基本上我有一个带有ID的列和一个带有y字符串值的列。每个ID超过一个y,因此具有相同ID但不同y的多行。我希望每个ID只获得一行,并且所有y值在另一列的同一单元格中连接。有没有这样做的功能?
original data
ID y
A apple
B pear
C grape
A grape
B apple
C grape
transformed data
ID y
A apple,grape
B pear, apple
C grape
答案 0 :(得分:4)
您可以在此处使用aggregate()
paste()
unique()
个ID
元素
aggregate(y ~ ID, unique(dat), paste, collapse = ", ")
数据强>
dat <- read.table(text="ID y
A apple
B pear
C grape
A grape
B apple
C grape", header=T)
编辑添加collapse
参数重新@pdb评论并更改unique
重新@DavidArenburg