如何将计数总结为百分比而不是绝对值?
Posted
技术标签:
【中文标题】如何将计数总结为百分比而不是绝对值?【英文标题】:How to summarize counts as a percentage rather than absolute values? 【发布时间】:2021-11-05 15:08:33 【问题描述】:我目前正在为一个 R 类项目工作,我基本上是在尝试使用 2013 年行为风险因素监测系统 (BRFSS) 数据来回答一个问题。 我的目标是制作一个分组条形图,以便能够比较两个不同组内的变量计数。为此,我编写了代码:
brfss2013 %>%
group_by(veteran3, sleepmore) %>%
filter(!is.na(veteran3)) %>%
summarise(count = n()) %>%
ggplot(aes(x=veteran3, y=count, fill=sleepmore)) +
geom_bar(stat="identity", position="dodge")
这将返回以下条形图:
如何在老手3“是”和“否”组中将计数转换为百分比?
【问题讨论】:
请将brfss2013
的创建包含在您的代码中。
@MartinGal 我该怎么做?我很缺乏经验,我不确定您所说的“创作”是什么意思。如果我没看错,这是数据库密码本的链接:cdc.gov/brfss/annual_data/2013/pdf/CODEBOOK13_LLCP.pdf
在你的summarize命令中,不要只计算n,还要计算比例,即count/sum(count)。也许这已经是你想要的了。如果您想用 % 符号显示百分比,请查看“scales”包。
@deschen 问题是我的总结给了我一个表格,其中有 2 行表示“veteran3 == “是”,2 行表示“veteran3 == “否”。你知道我怎样才能专门为这些组中的每一个求和吗? sum(count) 返回所有计数的总和,包括“否”和“是”老兵3。
请提供足够的代码,以便其他人更好地理解或重现问题。
【参考方案1】:
您可以使用填充位置。
geom_bar(stat="identity", position="fill")
【讨论】:
以上是关于如何将计数总结为百分比而不是绝对值?的主要内容,如果未能解决你的问题,请参考以下文章
将 3 个不同数组的所有值转换为它们的绝对值并返回所有 3 个的方法只保持第一个数组而不是接下来的两个