我想模仿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,但结果不对。在这方面指导我
答案 0 :(得分:0)
这对stackoverflow.com来说更像一个问题......但是,你想使用dplyr
并且可以像这样使用管道运算符%>%
:
dfsub %>% group_by(dfsub,calltime,x) %>% summarise(avg = mean(aat))
如果我正确地完成它:)