我想计算每组的相对频率。
这是我的数据集:
CATEGOTY VALUE COUNT
AAA 1 230
AAA 0 150
BBB 1 155
BBB 0 320
预期结果是这个,其中 PROC
是通过将 COUNT
除以 VALUE==0
和 之和获得的每组 VALUE==1
:
CATEGOTY VALUE COUNT PROC
AAA 1 230 0.60
AAA 0 150 0.40
BBB 1 155 0.33
BBB 0 320 0.67
事实上,我使用此代码收到了第一个分组数据集:
set = df %>%
group_by(CATEGORY,VALUE) %>%
summarise(COUNT = n())
所以,我想知道如何调整此代码以获得多一列PROC
。
最佳答案
library(dplyr)
df %>% group_by(CATEGOTY) %>% mutate(PROC = round(COUNT/sum(COUNT),1))
# CATEGOTY VALUE COUNT PROC
# <chr> <int> <int> <dbl>
#1 AAA 1 230 0.6
#2 AAA 0 150 0.4
#3 BBB 1 155 0.3
#4 BBB 0 320 0.7
关于r - 如何计算每组的相对频率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41151016/