如何在R中应用更多数据帧的聚合

时间:2018-10-29 05:47:59

标签: r dataframe dplyr

我有2个数据框,我想应用所有数据框的汇总, 我的数据很大,所以..假设我的数据是这样的:

data1
ID   Name    
1     A        
2     B       
3     C       
4     D       
5     E      
6     F       



data2
ID   Age
1      4 
2      5
3      12
4      53
5      2
6      8

应用聚合函数后,我想要这些结果:

data_result
ID   Name    Age
1     A       4 
2     B       5
3     C       12
4     D       53
5     E       2
6     F       8

小笔记:

  1. 数据帧的长度(行和列)长度不同。
  2. 我尝试按功能使用分组,但不起作用,请向我显示此错误:

    Error in UseMethod("group_by_") : 
    no applicable method for 'group_by_' applied to an object of class 
    "character"
    
  3. 我不需要数据框中的所有列,每列只需要2列。

  4. 这些任务在excel中非常容易实现,但是在r中???

有人可以帮助我吗?

谢谢

2 个答案:

答案 0 :(得分:0)

您可以使用

将两个数据框合并到ID上
merge(data1, data2, by="ID")

答案 1 :(得分:0)

按如下方式在R中使用merge()函数:

merge (x = dataframe1, y= dataframe2, by = "commom_column")

如果数据帧具有不同的长度,这不是问题。要选择列,可以使用dplyr包中的select()函数,如下所示:

dataframe1 <- select(dataframe1, c(column_names))

针对您的问题:

data1 <- select(data1, c(ID, name))
data2 <- select(data1, c(ID, Age))
merge(data1, data2, by = "ID")