r - 计算R中每个组中每个类别的百分比

标签 r

<分区>

我有这样一个数据框

Group    Category    Freq
1       A           2
1       B           3
1       C           5
2       A           3
2       B           1
2       C           6

我想介绍第四列,它计算每个组中每个类别的百分比。

Group    Category    Freq       % (calculated per group, for categories)
    1       A           2       20
    1       B           3       30
    1       C           5       50
    2       A           5       25
    2       B           1       5
    2       C           14      70

我尝试了以下(没有成功)

as.data.frame(prop.table(table(myDF),1)*100)

还有其他方法吗?

最佳答案

你可以使用dplyr

library(dplyr)
df <- data.frame(Group = c(1, 1, 1, 2, 2, 2), Category = c(LETTERS[1:3], LETTERS[1:3]), Freq = c(2, 3, 5, 5, 1, 14))
df %>% group_by(Group) %>% mutate(proc = (Freq/sum(Freq) * 100))

关于r - 计算R中每个组中每个类别的百分比,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40300918/

相关文章:

regex - 在R中匹配多个正则表达式

r - 让统计学家满意 : Stata vs. R 学生 t 检验

r - 如何对 R 回归模型中的每个系数运行 regTermTest?

R-如何从距离矩阵中获取匹配元素的行和列下标

r - 大ff数据框ROC曲线下面积

r - 在集群级别显示分层集群(无案例)

R 如果滞后条件匹配,则用 NA 填充新列

r - 使用 Pandoc 从 Markdown 转换的 PDF 中的中心标题

r - 使用 XLConnect 获取使用公式计算的数字

r - dplyr 函数用于合并重复数据、删除缺失数据并维护冲突数据