如何对列进行分组以汇总特定数据并对行进行排序?

时间:2018-01-22 16:45:05

标签: r match summarization

列数据按YEAR,MONTH和DAY分配,每行与名为X的第四列相关联。

如何在YEAR,MONTH和DAY匹配的行值中获取X的总和并对结果进行排序,例如:

A:
year month day x
2000 01    01 50
2000 01    02 30
2002 02    03 50
1994 01    01 3
2000 01    01 50
1996 01    02 5
2000 01    01 10

获取

A:
year month day x
1994 01    01 3
1996 01    02 5
2000 01    01 110
2000 01    02 30
2002 02    03 50

1 个答案:

答案 0 :(得分:1)

dplyr是一个不错的选择:

library(dplyr)

A %>% group_by(year, month, day) %>% summarise('x' = sum(x))

给出了所需的:

 year month day   x
1994    01  01   3
1996    01  02   5
2000    01  01 110
2000    01  02  30
2002    02  03  50