我对dplyr还不熟悉,尝试进行以下转换但没有成功。我在互联网上搜索到了在ddply中进行相同转换的示例,但我想使用dplyr来实现。
我有以下数据:
我想使用dplyr来计算每个类型(aaa,bbb,ccc)在月份级别上的百分比。
我已经尝试过了。
这将每个值都设为1。我如何使sum(count)在一个月内跨越所有类型进行求和?
MWE:
我有以下数据:
month type count
1 Feb-14 bbb 341
2 Feb-14 ccc 527
3 Feb-14 aaa 2674
4 Mar-14 bbb 811
5 Mar-14 ccc 1045
6 Mar-14 aaa 4417
7 Apr-14 bbb 1178
8 Apr-14 ccc 1192
9 Apr-14 aaa 4793
10 May-14 bbb 916
.. ... ... ...
我想使用dplyr来计算每个类型(aaa,bbb,ccc)在月份级别上的百分比。
month type count per
1 Feb-14 bbb 341 9.6%
2 Feb-14 ccc 527 14.87%
3 Feb-14 aaa 2674 ..
.. ... ... ...
我已经尝试过了。
data %>%
group_by(month, type) %>%
summarise(count / sum(count))
这将每个值都设为1。我如何使sum(count)在一个月内跨越所有类型进行求和?
MWE:
library(dplyr)
data <- data.frame(month = c("Feb-14","Feb-14","Feb-14","Mar-14","Mar-14","Mar-14","Apr-14","Apr-14","Apr-14","May-14"),
type = c("bbb","ccc","aaa","bbb","ccc","aaa","bbb","ccc","aaa","bbb"),
count = c(341,527,2674,811,1045,4417,1178,1192,4793,916))