gpt4 book ai didi

r - 没有分组变量的条形图

转载 作者:行者123 更新时间:2023-12-04 17:32:53 28 4
gpt4 key购买 nike

这似乎是最简单的事情,但我一直无法在 R 上弄清楚这一点。出于描述目的,我想创建一个条形图来显示多个问题/变量的均值和误差图。我的数据基于匿名回复,因此没有分组变量。

有没有办法在 R 上做到这一点?下面是我的数据的示例。我想在同一个条形图中绘制每个变量的均值和标准差。

dat <- data.frame(satisfaction = c(1, 2, 3, 4),
engaged = c(2, 3, 4, 2),
relevant = c(4, 1, 3, 2),
recommend = c(4, 1, 3, 3))

最佳答案

您可以做的是使用 reshape2 将数据 reshape 为长格式。 (或 data.tabletidyr )而不指定 id 变量并使用所有列作为度量变量。之后,您可以创建一个绘图,例如 ggplot2 .使用:

library(reshape2)
library(ggplot2)

# reshape into long format
dat2 <- melt(dat, measure.vars = 1:4) # or just: melt(dat)

# create the plot
ggplot(dat2, aes(x = variable, y = value)) +
stat_summary(geom = 'bar', fun.y = 'mean', width = 0.7, fill = 'grey') +
stat_summary(geom = 'errorbar', width = 0.2, size = 1.5) +
theme_minimal(base_size = 14) +
theme(axis.title = element_blank())

给出:

enter image description here

更新:正如@GavinSimpson 在他的回答中指出的那样:对于可视化均值和标准误差,条形图不是最佳选择。作为替代方案,您也可以使用 geom_pointrange :
ggplot(dat2, aes(x = variable, y = value)) +
stat_summary(geom = 'pointrange', fatten = 5, size = 1.2) +
theme_minimal(base_size = 14) +
theme(axis.title = element_blank())

这使:

enter image description here

关于r - 没有分组变量的条形图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37264331/

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