如何使用group_by通过两个或多个因子变量汇总统计数据?

时间:2016-07-08 16:56:28

标签: r group-by dplyr aggregate

我有一个像这样的数据框

no        date          charges
050034    2011-07-14    3312.00
000859    2012-07-13    10913.54
05266     2013-07-16    159.00
000859    2012-07-13    370.00 
000859    2014-07-16    21881.36
38027     2012-07-13    164.00

我想在唯一日期找到每个no和date的平均总费用组。 我用了

summary<-df %>% group_by(no) %>% summarize_each(funs(total_charges=sum(charges)))

得到这样的结果:

no        date          charges
050034    2011-07-14    3312.00
000859    2012-07-13    11283.54
05266     2013-07-16    159.00
000859    2014-07-16    21881.36
38027     2012-07-13    164.00

(我们在2012-07-13只有一个没有= 000859) 但是我的代码无法正常工作!

EDIT :::::: 我怎么能找到每个月的平均每月总费用?

2 个答案:

答案 0 :(得分:0)

假设您的数据框名为df,您可以使用:

aggregate(charges ~ no + date, data=df, sum)

答案 1 :(得分:0)

您可以按多个变量进行分组:

df%>%group_by(date,no)%>%summarise(total_charges=sum(charges))