【发布时间】:2016-03-11 04:38:57
【问题描述】:
我正在尝试按两个类别汇总数据。
数据
year person expense sex money
2011 kevin truck M 1
2011 mike truck M 62
2011 sally truck F 60
2012 kevin truck M 37
2012 mike truck M 53
2012 sally truck F 95
2013 kevin truck M 21
2013 mike truck M 13
2013 sally truck F 38
2014 kevin truck M 48
2014 mike truck M 4
2014 sally truck F 77
2011 kevin house M 7
2011 mike house M 94
2011 sally house F 79
2012 kevin house M 86
2012 mike house M 42
2012 sally house F 46
2013 kevin house M 90
2013 mike house M 76
2013 sally house F 75
2014 kevin house M 70
2014 mike house M 91
2014 sally house F 62
如果 year 和 person 列匹配,我想对 money 列求和。
期望的输出
year person sex money
2011 kevin M 8
2011 mike M 156
2011 sally F 139
2012 kevin M 123
2012 mike M 95
2012 sally F 141
2013 kevin M 111
2013 mike M 89
2013 sally F 113
2014 kevin M 118
2014 mike M 95
2014 sally F 139
我该怎么做?
我试过data_aggregated = aggregate(data$money, by = list(name = data$name), FUN = sum),但这只是按名称聚合我的数据。我不知道如何按名称和年份汇总它。它还创建了一个只有两个变量列的数据框:name 和 x。
我也尝试将姓名+年份连接成一个 ID 变量,但这似乎太乏味了。
【问题讨论】: