如何解决R:如何按组计算变量占某个值的百分比?
因此,我试图获取r报告一组中具有特定值的特定变量的份额。 例如:让我们考虑一个由1,2和3组组成的数据集。现在,我想知道Variable1在1,2和3组中取值为500的百分比并将其合并为新变量。 是否有便捷的解决方案? 所以它应该看起来像这样:
df
Group Var1 Var1_perc
1 0 50
1 400 50
1 500 50
1 500 50
其他组等等
解决方法
我会使用tidyverse
来完成
计算变量在组中采用某特定值的频率
library(tidyverse)
df %>%
group_by(Group,Var1) %>%
summarise(count = n())
要计算组中的百分比:
df %>%
left_join(df %>%
group_by(grp) %>%
summarise(n = n()),by = "grp" ) %>%
group_by(grp,value) %>%
summarise(percentage = n()/n)
整个left_join
的内容是计算一个组在表中出现的频率。我想不到更好的方法。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。