如何在R中的ggplot2中绘制组均值的平均值?

Posted

技术标签:

【中文标题】如何在R中的ggplot2中绘制组均值的平均值?【英文标题】:How to plot mean of group means in ggplot2 in R? 【发布时间】:2017-04-25 23:19:11 【问题描述】:

我有以下数据(dat)

V  W  X  Y  Z
1  2  3  4  5
2  2  3  4  5
3  2  3  4  5
4  2  3  4  5

我希望用组均值的平均值绘制一条 线 例如。在上述数据集中,所有组的总体平均值为 3.3。因此,连同组均值的图表,我需要一条具有组均值的线。

简单组的代码如下:

dat1 <- gather(dat)#long format
ggplot(data = dat1, aes(x = key, y = value)) + 
  stat_summary(fun.data = "mean_cl_normal", colour = "red", size  = 1)

关于如何实现这一点的任何想法,而不是在外部计算组均值和 CI,然后调用 ggplot2 中的值?

【问题讨论】:

如果您在否决投票问题之前发表评论,我将不胜感激。 @akrun :是的,我已经进行了编辑。 您能否检查一下下面发布的解决方案是否是您正在寻找的? 为什么要有置信区间?我没有看到任何可以支持的统计假设?整个问题让我建议您需要一位统计学家。 @42-:我同意你的看法。在我的原始数据和我放置它的上下文 n 的上下文中..我明白为什么。但是对于这个问题,我已经放弃了。 【参考方案1】:

也许这有帮助

library(tidyr)
library(dplyr)
library(ggplot2)
dat %>% 
   mutate(all = mean(unlist(.)) + rnorm(n())) %>%
    gather() %>%
    ggplot(., aes(x=key, y=value)) +
          stat_summary(fun.data = "mean_cl_normal", colour = "red", size  = 1)

【讨论】:

我是否必须使用其他库进行变异?我在 function_list[[i]](value) 中收到此错误错误:找不到函数“mutate” @Biotechgeek 它在dplyr。如今,您只需安装tidyverse,它就包含所有这些包 它确实成功了!但是如何更改代码,使其生成与该组均值相关联的线和置信区间? @Biotechgeek 您可以向mean 添加一个随机数,即。 mean(unlist(.)) + rnorm(n()) @Bioteckgeek 或者sd1 &lt;- dat %&gt;% summarise_each(funs(sd))%&gt;% unlist() %&gt;% mean; dat %&gt;% mutate(all = mean(unlist(.)) + sd1) %&gt;%

以上是关于如何在R中的ggplot2中绘制组均值的平均值?的主要内容,如果未能解决你的问题,请参考以下文章

R语言使用ggplot2包使用geom_dotplot函数绘制分组点图(手动编码添加均值标准偏差)实战(dot plot)

R语言使用ggplot2包geom_jitter()函数绘制分组(strip plot,一维散点图)带状图(添加均值标准偏差)实战

R语言使用ggplot2包使用geom_density()函数绘制分组密度图(线条色彩添加均值线)实战(density plot)

R语言使用ggplot2包使用geom_density()函数绘制密度图(自定义颜色填充线条色彩分组均值线)实战(density plot)

R语言ggplot2可视化分面图(facet_grid):ggplot2可视化为分面图的每个组添加平均值线条

R语言使用ggplot2包使用geom_violin函数绘制分组小提琴图(配置显示均值标准偏差)实战