简介
执行ANOVA后,我们经常进行一系列成对比较。当组的数量相对较大时,成对比较的数量变得非常大(它是triangular number)。在图表上,通常通过用相同的字母标记它们来表示没有显着差异的组,因此具有产生这些字母的函数是很方便的。
目标
我正在尝试在R
中构建一个能够接收输入的函数:
TukeyHSD(aov(y~x))
..并且输出:
示例
set.seed(10)
d = data.frame(
y=c(rnorm(100,10),rnorm(100,10),rnorm(100,8.5),rnorm(100,8)),
x=rep(c("High","MidHigh", "MidLow","Low"), each=100)
)
z=TukeyHSD(aov(y~x,data=d))
z
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = y ~ x, data = d)
$x
diff lwr upr p adj
Low-High -1.66461230 -2.02288676 -1.3063378 0.0000000
MidHigh-High 0.04158636 -0.31668810 0.3998608 0.9906564
MidLow-High -1.33469921 -1.69297367 -0.9764247 0.0000000
MidHigh-Low 1.70619866 1.34792420 2.0644731 0.0000000
MidLow-Low 0.32991309 -0.02836138 0.6881876 0.0834543
MidLow-MidHigh -1.37628557 -1.73456004 -1.0180111 0.0000000
以下是函数fun
将执行的操作
fun(Tukey=z, alpha=0.05)
High MidHigh MidLow Low
"A" "A" "B" "B"
fun(Tukey=z, alpha=0.1)
High MidHigh MidLow Low
"A" "A" "B" "C"
答案 0 :(得分:3)
试用multcompView包。
library(multcompView)
multcompLetters(z$x[,4])
## Low MidHigh MidLow High
## "a" "b" "a" "b"