r - 如何计算每组的相对频率

标签 r

我想计算每组的相对频率。

这是我的数据集:

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/

相关文章:

r - igraph:解决紧密重叠的节点

r - NLP - 在 R 中识别和替换单词(同义词)

r - 总结一个矩阵。获取每 100000 个单位类别的平均值

R: dplyr- 使用重新编码功能时出错

r - 连接线串

RcppEigen 包 "#pragma clang diagnostic pop"警告

在生成箱线图时提醒 R 整数是一个因素

r - 当列名是数字时 dplyr 选择列

r - 通过查找更改列名

r - 仅标记选定的中断