【发布时间】:2022-01-28 05:08:13
【问题描述】:
我需要获取 R 中汇总列的相对频率。我使用 dplyr 的汇总来查找每个分组行的总数,如下所示:
data %>%
group_by(x) %>%
summarise(total = sum(dollars))
x total
<chr> <dbl>
1 expense 1 3600
2 expense 2 2150
3 expense 3 2000
但是现在我需要为每个总行的相对频率创建一个新列才能得到这个结果:
x total p
<chr> <dbl> <dbl>
1 expense 1 3600 46.45%
2 expense 2 2150 27.74%
3 expense 3 2000 25.81%
我试过了:
data %>%
group_by(x) %>%
summarise(total = sum(dollars), p = scales::percent(total/sum(total))
还有这个:
data %>%
group_by(x) %>%
summarise(total = sum(dollars), p = total/sum(total)*100)
但结果总是这样:
x total p
<chr> <dbl> <dbl>
1 expense 1 3600 100%
2 expense 2 2150 100%
3 expense 3 2000 100%
问题似乎是可能影响结果的汇总总计列。有什么想法可以帮助我吗?谢谢
【问题讨论】:
标签: r dplyr group-by percentage summarize