如何在R中的特征相同时将行组合在一起

时间:2013-06-09 23:16:32

标签: r merge rbind

我有以下数据

>Data <- data.frame(
X = c(22,22,22,22,22,33,33,33,33),
Y = c(123,234,567,678,433,555,664,77,88),
Z = c(2,2,2,1,2,2,1,1,1)
)

>Data
#    X     Y      Z
#   22    123    2
#   22    234    2
#   22    567    2
#   22    678    1
#   33    433    2
#   33    555    2
#   33    664    1
#   33    77     1
#   33    88     1

我希望得到一个结果,当X相同时,它会在一个单元格中组合Y列。当Z = 2时,Y将在YY前面,当z = 1时,Y将在之后添加。

结果将是这样的

>result
#   XX           YY                
#   22    123  234  567 678            
#   33    433  555  664 77  88            

怎么做?谢谢!

1 个答案:

答案 0 :(得分:1)

setNames( aggregate(Data$Y,Data['X'], paste, collapse="  "), c("XX","YY"))
  XX                      YY
1 22 123  234  567  678  433
2 33        555  664  77  88

看起来您的分组已关闭....至少就我可以解析您的意图而言。最后英语句子对我来说没有多大意义,因为“后添加”一词不清楚。