【问题标题】:Add Column % Frequencies to Stacked Bar Chart in R将列百分比频率添加到 R 中的堆积条形图
【发布时间】:2022-01-08 13:30:47
【问题描述】:

我想知道是否有一个简单的解决方案 - 我是一名 SAS 用户,在 R 中很难解决这个问题,但我需要使用 R 来完成我正在做的任务。

因此,我创建了一个按种族划分的 PCR 检测结果(阳性或阴性)条形图。基本上,我想将 % 频率添加到每一列,以表明阳性与阴性 covid 病例的分布在种族方面非常相似(计数不太清楚)。这是我的代码:

 p<-ggplot(data=Data, mapping=aes(x=race, fill=pcr))
    p+geom_bar()

这是我的图表的图像。

我只想要那里某处的 % 频率。或者,理想情况下,我希望 y 轴是 % 而不是 count?我觉得这应该是一个非常简单的请求,但我无法在任何地方找到简单的解释。谢谢大家!

数据摘要: record_id 网站年龄
长度:1000 图森:612 分钟。 :21.0
Class1:标记为 Phoenix:388 1st Qu.:29.0
Class2:字符中位数:37.0
模式:字符均值:38.4
第三季:45.0
最大限度。 :90.0

                                    race    

美洲印第安人或阿拉斯加原住民:190
亚洲 :207
黑人或非裔美国人:403
夏威夷原住民或其他太平洋岛民:0
白色:200

                                ethnicity       sex      occupation 

西班牙裔、拉丁裔或西班牙裔:477 女性:476 FR-C:175
非西班牙裔、拉丁裔或西班牙裔:523 男性:499 FR-F:132
其他 : 25 FR-L :130
HCP-A:154
HCP-I:148
HCP-N:129
其他:132
pcr form_1_complete 负数:792 不完整:0
正面:208 未验证:1000
完成:0

【问题讨论】:

  • 如果你的数据Data不是太大,如果你提供你的数据会更容易提供帮助。尝试使用dput(Data) 并将结果粘贴到您的问题中。
  • 有 1,000 个观察结果,所以太多了,但这里是摘要:
  • 哦...那么你的数据集中在racepcr 上吗?
  • 没关系,我想通了!只需将 (position="fill") 添加到 geom_bar() 无论如何谢谢!
  • 如果要%格式,加scale_y_continuous(labels = scales::percent_format(accuracy = 1))行。

标签: r ggplot2 stacked-chart


【解决方案1】:

没有数据很难做到,但试试这个:

ggplot(Data, aes(x=race, fill = pcr, group =pcr)) + geom_bar(aes(y=freq), stat="identity", position = "dodge")

【讨论】:

    猜你喜欢
    • 2017-11-27
    • 2018-06-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-05-31
    相关资源
    最近更新 更多