问题
有没有一种简单的解决方案可以在使用ggplot
构建的箱线图上直观地显示成对比较及其p值(或仅为.
、*
、**
、***
)?
最好有一个内置函数(或类似便利工具)。
下面是一个可以操作的示例...
虚拟数据
require(ggplot2)
set.seed(11)
n=15
mu=1.2
d = data.frame(y=c(rnorm(n), rnorm(n), rnorm(n,mu), rnorm(n,mu)),x=rep(LETTERS[1:4],each=n))
图形
ggplot(d, aes(y=y, x=x)) + geom_boxplot()
统计分析
(注:本段内容为标题,无需翻译)
m = aov(data=d, y~x)
anova(m)
# Analysis of Variance Table
# Response: y
# Df Sum Sq Mean Sq F value Pr(>F)
# x 3 34.074 11.358 16.558 8.021e-08 ***
# Residuals 56 38.414 0.686
TukeyHSD(m)$x
diff lwr upr p adj
B-A 0.1989620 -0.6018277 0.9997517 9.123300e-01
C-A 1.3858613 0.5850716 2.1866510 1.504711e-04
D-A 1.7658291 0.9650394 2.5666188 1.639309e-06
C-B 1.1868993 0.3861096 1.9876890 1.337608e-03
D-B 1.5668671 0.7660774 2.3676568 1.824795e-05
D-C 0.3799678 -0.4208219 1.1807575 5.941266e-01