dplyr 总结嵌套 group_by [重复]
Posted
技术标签:
【中文标题】dplyr 总结嵌套 group_by [重复]【英文标题】:dplyr summarise over nested group_by [duplicate] 【发布时间】:2015-09-19 14:20:27 【问题描述】:我有一个这样的数据框:
Date Amount Category
1 02.07.15 1 1
2 02.07.15 2 1
3 02.07.15 3 1
4 02.07.15 4 2
5 03.07.15 5 2
6 04.07.15 6 3
7 05.07.15 7 3
8 06.07.15 8 3
9 07.07.15 9 4
10 08.07.15 10 5
11 09.07.15 11 6
12 10.07.15 12 4
13 11.07.15 13 4
14 12.07.15 14 5
15 13.07.15 15 5
16 14.07.15 16 6
17 15.07.15 17 6
18 16.07.15 18 5
19 17.07.15 19 4
我想计算一个类别中每一天的金额总和。我的尝试(见代码)都不够。
summarise(group_by(testData, Category), sum(Amount))
错误的输出 --> 这里是对每个组计算总和
Category sum(Amount)
1 1 6
2 2 9
3 3 21
4 4 53
5 5 57
6 6 44
summarise(group_by(testData, Date), sum(Amount), categories = toString(Category))
错误的输出 --> 这里每天计算总和,但不考虑类别
Date sum(Amount) categories
1 02.07.15 10 1, 1, 1, 2
2 03.07.15 5 2
3 04.07.15 6 3
4 05.07.15 7 3
5 06.07.15 8 3
6 07.07.15 9 4
7 08.07.15 10 5
8 09.07.15 11 6
9 10.07.15 12 4
10 11.07.15 13 4
11 12.07.15 14 5
12 13.07.15 15 5
13 14.07.15 16 6
14 15.07.15 17 6
15 16.07.15 18 5
16 17.07.15 19 4
到目前为止,我还没有成功地结合这两种说法。 如何嵌套两个 group_by 语句来计算每个类别中每一天的金额总和?
嵌套如下组:
summarise(group_by(group_by(testData, Date), Category), sum(Amount), dates = toString(Date))
Category sum(Amount) dates
1 1 6 02.07.15, 02.07.15, 02.07.15
2 2 9 02.07.15, 03.07.15
3 3 21 04.07.15, 05.07.15, 06.07.15
4 4 53 07.07.15, 10.07.15, 11.07.15, 17.07.15
5 5 57 08.07.15, 12.07.15, 13.07.15, 16.07.15
6 6 44 09.07.15, 14.07.15, 15.07.15
没有按预期工作。
我听说过dplyr - summarise weighted datasummarise_each
,但无法让它发挥作用:
summarise_each(testData, funs(Category))
Error could not find function Category
【问题讨论】:
非常感谢您的评论是解决方案 【参考方案1】:你可以试试
testData %>%
group_by(Date,Category) %>%
summarise(Amount= sum(Amount))
【讨论】:
以上是关于dplyr 总结嵌套 group_by [重复]的主要内容,如果未能解决你的问题,请参考以下文章
在 dplyr 中使用 group_by 时在 R 中格式化数字 [重复]