如何在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 <- dat %>% summarise_each(funs(sd))%>% unlist() %>% mean; dat %>% mutate(all = mean(unlist(.)) + sd1) %>%
以上是关于如何在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)