组合两列R中具有相同值的行

时间:2016-06-30 13:50:23

标签: r dataframe

我的数据框看起来像:

       A      B    C     
1.     80     1    12    
2.     80     1    13    
3.     80     2    14    
4.     81     2    15    
5 .    81     2    16    

我想要这个:

       A'     B'    C'     
1.     80     1    12 13   
2.     80     2    14    
3.     81     2    15 16    

任何建议包等?

1 个答案:

答案 0 :(得分:0)

您可以使用aggregate将C值分组为A和B,此处使用paste(字符串连接)作为聚合函数:

> df<-data.frame(A=c(80,80,80,81,81),B=c(1,1,2,2,2),C=12:16)
> 
> df
   A B  C
1 80 1 12
2 80 1 13
3 80 2 14
4 81 2 15
5 81 2 16
> 
> aggregate(data=df,C~B+A,FUN=paste)
  B  A      C
1 1 80 12, 13
2 2 80     14
3 2 81 15, 16