使用r(dplyr)对类别和日期求和[重复]
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用r(dplyr)对类别和日期求和[重复]相关的知识,希望对你有一定的参考价值。
这个问题在这里已有答案:
我有一个数据集,可以按ID,类别和日期跟踪每日收入:
id cat date daily_rev 111 A 3/09/19 $10 111 A 3/10/19 $15 111 A 3/11/19 $40 222 A 3/09/19 $100 222 A 3/10/19 $150 222 A 3/11/19 $50 333 B 3/09/19 $45 333 B 3/10/19 $10 333 B 3/11/19 $30
我想操纵数据按类别汇总所有日期:
cat tot_daily_rev A $365 B $85
当我使用这段代码时:
X <- data %>%
group_by(cat) %>%
mutate(tot_daily_rev = sum(daily_rev))
我得到一个数据框,其中有一个tot_daily_rev列,它是数据集中每一行的总和:
id cat date daily_rev tot_daily_rev 111 A 3/09/19 $10 $450 111 A 3/10/19 $15 $450 111 A 3/11/19 $40 $450 222 A 3/09/19 $100 $450 222 A 3/10/19 $150 $450 222 A 3/11/19 $50 $450 333 B 3/09/19 $45 $450 333 B 3/10/19 $10 $450 333 B 3/11/19 $30 $450
我已经引用了这篇文章:How to sum a variable by group?,但它并没有解决我的问题。
--
更新
Why does summarize or mutate not work with group_by when I load `plyr` after `dplyr`?解决了同样的问题!我完全没有意识到这是一个函数/库的问题,所以我没想到要搜索为什么汇总和变异没有像我预期的那样表现。
答案
当你使用mutate
时,它不是group_by
。你使用group_by
后它现在是一个group_by
对象,所以你必须使用summarize
X <- data %>%
group_by(cat) %>%
summarize(tot_daily_rev = sum(daily_rev))
以上是关于使用r(dplyr)对类别和日期求和[重复]的主要内容,如果未能解决你的问题,请参考以下文章
R语言按组聚合求和实战(sum a variable by group):使用aggregate函数按组聚合求和使用tapply函数按组聚合求和按组聚合求和(使用dplyr包)