gpt4 book ai didi

r - 使用ggplot获取带有百分比标签的条形图的最有效方法

转载 作者:行者123 更新时间:2023-12-05 05:01:44 30 4
gpt4 key购买 nike

我有一个更直接的问题是什么是创建带有百分比标签和预期布局的条形图的最有效方法。我有一个包含多个列的数据框,其中包括“经济”列。该列确实有五个值“非常好”、“好”、“差”、“非常差”和“不知道”。这是可重现的数据:

structure(c(3L, 3L, 3L, 3L, 2L, 3L, 4L, 4L, 4L, 4L, 3L, 2L, 2L, 
2L, 3L, 2L, 4L, 4L, 2L, 3L, 4L, 3L, 4L, 4L, 3L, 2L, 2L, 3L, 3L,
3L, 3L, 4L, 4L, 4L, 3L, 2L, 4L, 3L, 3L, 3L, 3L, 3L, 4L, 3L, 4L,
2L, 4L, 4L, 3L, 2L), .Label = c("Very good", "Good", "Bad", "Very bad",
"Don't know"), class = "factor")

我使用这段代码得到了预期的结果:

lebanon %>%
filter(!is.na(economy), economy != "Don't know") %>%
count(economy) %>%
mutate(prop = n / sum(n)) %>%
ggplot(aes(economy, y = prop, fill = economy)) +
geom_bar(stat = "identity") +
scale_fill_manual(values = c("darkgreen", "green4", "red3", "red4")) +
scale_y_continuous(labels = scales::percent) +
geom_text(aes(label = scales::percent(prop, suffix = "")),
position=position_dodge(width=0.9), vjust=-0.5, size = 5) +
labs(x = "", y = "", fill = "") +
theme_minimal() +
theme(axis.text.x = element_text(size = 15),
axis.text.y = element_text(size = 15),
legend.text = element_text(size = 15))

获取此图:

enter image description here

我想知道这是否是将计数重新计算为具有所需布局的百分比的最有效方法。我使用了 count 函数和 mutate,但我也知道可能有其他方法可以使用 stat(prop) 和 ..count.. 函数来处理这个问题。问题是当我使用 stat(prop) 或 fill = "prop"时,它没有使用 scale_fill_manual 函数。

enter image description here

所以我的问题是什么是最有效的方法来获得我想要的条形图(上面那个)而不需要太多的中间步骤来计算百分比。如果我的问题没有明确表述,请提前道歉。 :)

问候

最佳答案

您可以试试这个解决方案。我使用了您的数据样本。我希望这可以帮助:

library (ggplot2)
library(scales)

lebanon %>%
filter(!is.na(economy), economy != "Don't know") %>%
ggplot(aes(x= economy)) +
geom_bar(aes(y = (..count..)/sum(..count..), fill = economy), stat="count") +
geom_text(aes( label = scales::percent((..count..)/sum(..count..)),
y= (..count..)/sum(..count..) ), stat= "count", vjust = -.5) +
labs(y = "Percent", fill="Economy") +
scale_y_continuous(labels = scales::percent)

enter image description here

我还找到了可以帮助您的软件包:http://larmarange.github.io/JLutils/reference/stat_fill_labels.html

关于r - 使用ggplot获取带有百分比标签的条形图的最有效方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62637238/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com