8wDlpd.png
8wDFp9.png
8wDEOx.png
8wDMfH.png
8wDKte.png

如何在 R 中的 Boxplot 中绘制平均值和标准误差

Mykhaylo Chornenkyy 1月前

15 0

我有两个分类因素(“栖息地”和“地点”)和一个连续变量(T)。“栖息地”有两个级别,“地点”有八个级别。我想更改默认晶须以表示...

我有两个分类因子(“栖息地”和“地点”)和一个连续变量(T)。“栖息地”有两个级别,“地点”有八个级别。我想将默认晶须更改为表示 SE,并将中位数更改为每个箱线图的平均值。有没有办法做到这一点并在绘图时将这两个分类因子都考虑在内?提前谢谢。

这就是我使用 boxplot ggplot 的默认设置所做的操作,显示带有中位数间隔的第一和第三四分位数。

ggplot(data,aes(x=Locality,y=T)) + 
  geom_boxplot(aes(fill=interaction(Habitat,Locality), 
                   group=interaction(factor(Habitat),Locality)),
               outlier.shape=1,outlier.size=3) + 
  theme_bw() + 
  theme(
    panel.grid.major=element_blank(),
    panel.grid.minor=element_blank(),
    axis.line=element_line(colour='black'),
    legend.position='none',
    axis.text.x=element_text(angle=90,hjust=1,size=12)) + 
  scale_y_continuous('T') + 
  xlab('Locality')
帖子版权声明 1、本帖标题:如何在 R 中的 Boxplot 中绘制平均值和标准误差
    本站网址:http://xjnalaquan.com/
2、本网站的资源部分来源于网络,如有侵权,请联系站长进行删除处理。
3、会员发帖仅代表会员个人观点,并不代表本站赞同其观点和对其真实性负责。
4、本站一律禁止以任何方式发布或转载任何违法的相关信息,访客发现请向站长举报
5、站长邮箱:yeweds@126.com 除非注明,本帖由Mykhaylo Chornenkyy在本站《r》版块原创发布, 转载请注明出处!
最新回复 (0)
  • 首先编写一个函数来计算最小值、平均值-1SEM、平均值、平均值+1SEM 和最大值。然后使用以下方法将这 5 个值映射到箱线图上: stat_summary .

    library(gridExtra)
    library(ggplot2)
    
    MinMeanSEMMax <- function(x) {
      v <- c(min(x), mean(x) - sd(x)/sqrt(length(x)), mean(x), mean(x) + sd(x)/sqrt(length(x)), max(x))
      names(v) <- c("ymin", "lower", "middle", "upper", "ymax")
      v
    }
    
    g1 <- ggplot(mtcars, aes(factor(am), mpg)) + geom_boxplot() +
      ggtitle("Regular Boxplot")
    
    g2 <- ggplot(mtcars, aes(factor(am), mpg)) +
      stat_summary(fun.data=MinMeanSEMMax, geom="boxplot", colour="red") + 
      ggtitle("Boxplot: Min, Mean-1SEM, Mean, Mean+1SEM, Max")
    
    
    grid.arrange(g1, g2, ncol=2)
    

    enter image description here

  • 非常好的答案,谢谢。您如何做同样的事情,但要使用子组?例如,如果您的 x 轴上有 0A、0B、1A 和 1B?

  • 我认为这是可行的,但也可以竖立一个红色八边形的交通标志,上面写着“前方限速增加”,我认为这两种方式都会让人感到困惑,而不是有帮助。箱线图对各部分的含义有一个标准定义。当用户看到箱线图时,他们不必再费脑力去重新思考不同部分的含义。如果您不想表示这些标准摘要,为什么不使用不同的表示方法呢? geom_crossbar geom_errorbar 函数/几何体可能更适合您的显示(并且可能比尝试修改箱线图几何体更容易使用)。

返回
作者最近主题: