分组计算所有出现次数

时间:2016-12-30 08:10:19

标签: r

我想模仿R中的以下sql查询:

select CAST(calltime as date), x, AVG(AAT) rev, COUNT(*) occurances from tablename group by 1,2;

result should be like this:
date                 x       rev       occurances
2016-12-30           col     56.32       3652
2016-12-30           col_NA  24.69       2006
2016-12-30           dial    32.20       4236
2016-12-29           col     54.98       3762
2016-12-29           col_NA  24.32       2105
2016-12-29           dial    31.93       4165
      .                .       .          .
      .                .       .          .
      .                .       .          .

我使用以下R代码:

#dfsub is the dataframe that has the table

dfsub$aat = as.numeric(dfsub$aat)
dfsub$calltime = as.Date(dfsub$calltime)
bycalltime_x <- summarise(group_by(dfsub,calltime,x), rev = mean(aat))

这给了我前三列。我无法找到一种方法来解决问题。我尝试了aggrgate,但结果不对。在这方面指导我

1 个答案:

答案 0 :(得分:0)

这对stackoverflow.com来说更像一个问题......但是,你想使用dplyr并且可以像这样使用管道运算符%>%

dfsub %>% group_by(dfsub,calltime,x) %>% summarise(avg = mean(aat))

如果我正确地完成它:)