繁体   English   中英

ggplot2 不使用统计摘要绘制误差线

[英]ggplot2 not plotting error bars with stat summary

我正在用 ggplot2 绘制条形图,并尝试添加置信区间。 我有以下代码(在一个只加载了 ggplot2 的新项目中):

library(ggplot2)

set.seed(1234)
stimuli <- rep(c("a", "b", "c"), each = 1, times = 50)
dv_1 <- rnorm(150, mean = 3.5, sd = 0.89)

#simdat<-as.data.frame(stimuli, dv_1)
#simdat<-data.frame(stimuli, dv_1)
simdat<-cbind.data.frame(stimuli, dv_1)

ggplot(simdat, aes(x = reorder(stimuli, dv_1), y = dv_1)) +
  stat_summary(fun = mean, geom = "bar", fill = "#1F78B4", width = 0.75, na.rm = TRUE) +
  stat_summary(fun.data = mean_cl_boot, geom = "errorbar",
               colour="grey70", position=position_dodge(1), width=.2)

这绘制了均值,但对于误差线,我收到以下警告:

Warning: Computation failed in `stat_summary()`:

我也试过

ggplot(simdat, aes(x = reorder(stimuli, dv_1), y = dv_1)) +
  stat_summary(fun = match.fun(mean), geom = "bar", fill = "#1F78B4", width = 0.75, na.rm = TRUE) +
  stat_summary(fun.data = mean_cl_boot, geom = "errorbar",
               colour="grey70", position=position_dodge(1), width=.2)

正如评论中所建议的那样,但收到了同样的错误。 我正在使用 R 版本 4.1.2 和 ggplot2 3.3.5。 我究竟做错了什么?

编辑:下面是完整的 output

在此处输入图像描述

要在“stat_summary()”中使用“mean_cl_boot”function,请先尝试安装“Hmisc”package。 就我而言,它起作用了。

正如@stefan 所建议的,您的代码有效,请检查您定义stimuli数据框的方式。

样本数据:

set.seed(1234)
stimuli <- rep(c("a", "b", "c"), each = 1, times = 50)
dv_1 <- rnorm(150, mean = 3.5, sd = 0.89)

示例代码:

library (ggplot2)

#simdat<-as.data.frame(stimuli, dv_1)
simdat<-cbind.data.frame(stimuli, dv_1)

ggplot(simdat, aes(x = reorder(stimuli, dv_1), y = dv_1)) +
  stat_summary(fun = match.fun(mean), geom = "bar", fill = "#1F78B4", width = 0.75, na.rm = TRUE) +
  stat_summary(fun.data = mean_cl_boot, geom = "errorbar",
               colour="grey70", position=position_dodge(1), width=.2)

Plot:

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM