R 带平均点的箱线图

R 带平均点的箱线图,r,ggplot2,R,Ggplot2,我正在用ggplot2制作一个箱线图,并尝试(没有任何成功)将每个变量的平均点放在箱线图上。有人能指出哪里不对吗 一个可重复的例子: data <- data.frame(id=1:5000, Estimativa0=gl(5, 1000), NM.Intra1=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)), NM.Entre2=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)), SPADE3=rnorm(50

我正在用
ggplot2
制作一个箱线图,并尝试(没有任何成功)将每个变量的平均点放在箱线图上。有人能指出哪里不对吗

一个可重复的例子:

data <- data.frame(id=1:5000, Estimativa0=gl(5, 1000), NM.Intra1=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)), NM.Entre2=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)), SPADE3=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)),  NCI4=rnorm(5000, rep(rnorm(5, 0, 4), each=1000)))
data <- reshape(data, direction='long', varying=list(c("NM.Intra1", "NM.Entre2", "SPADE3", "NCI4")), idvar=c('id', 'Estimativa0'), times=c("NM.Intra1", "NM.Entre2", "SPADE3", "NCI4"), timevar='Método')
levels(data$Estimativa0) <- c('Est 1', 'Est 2', 'Est 3', 'Est 4', 'Est 5', 'Est 6')
p <- ggplot(data, aes(Método, NM.Intra1))
p <- p + geom_boxplot(aes(fill=factor(Estimativa0))) + ylab('Vício') + xlab('Método') + scale_fill_discrete("Estatística") + ggtitle('Gráfico maluco da Greice') + geom_hline(yintercept=0)
p

那么,我错过了什么?

我假设你想要每个
método
-
Estimativa0
组合的平均值。在这种情况下,您还需要告诉
stat\u summary
分组依据
Estimativa0
;现在,映射只在
geom\u boxplot
中完成,因此不会被
stat\u summary
继承

因此,删除以下内容:

aes(fill=factor(Estimativa0))
并将
fill=factor(Estimativa0)
放入初始映射中:

aes(Método, NM.Intra1, fill=factor(Estimativa0))
您将得到以下结果:

p <- ggplot(data, aes(Método, NM.Intra1, fill=factor(Estimativa0)))
p <- p + geom_boxplot() + ylab('Vício') + xlab('Método') + scale_fill_discrete("Estatística") + ggtitle('Gráfico maluco da Greice') + geom_hline(yintercept=0)
p + stat_summary(fun.y=mean, colour="red", geom="point", position=position_dodge(width=0.75), shape=2)

p我假设你想要每个
método
-
Estimativa0
组合的平均值。在这种情况下,您还需要告诉
stat\u summary
分组依据
Estimativa0
;现在,映射只在
geom\u boxplot
中完成,因此不会被
stat\u summary
继承

因此,删除以下内容:

aes(fill=factor(Estimativa0))
并将
fill=factor(Estimativa0)
放入初始映射中:

aes(Método, NM.Intra1, fill=factor(Estimativa0))
您将得到以下结果:

p <- ggplot(data, aes(Método, NM.Intra1, fill=factor(Estimativa0)))
p <- p + geom_boxplot() + ylab('Vício') + xlab('Método') + scale_fill_discrete("Estatística") + ggtitle('Gráfico maluco da Greice') + geom_hline(yintercept=0)
p + stat_summary(fun.y=mean, colour="red", geom="point", position=position_dodge(width=0.75), shape=2)
p