简介
在进行方差分析后,我们通常会进行一系列成对比较。当组的数量相对较大时,成对比较的数量会变得很大(这是它的三角形数量)。在图形上,通过用同一个字母标记没有显著差异的组是很常见的,因此有一个产生这些字母的函数会很方便。
目标
我正在尝试在R
中构建一个函数,该函数将接受输入:
TukeyHSD(aov(y~x))
的输出- alpha值
并将输出:
- 字符串列表,其将指示哪些组显著不同,哪些组不显著不同
示例
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"
尝试multcompView包。
library(multcompView)
multcompLetters(z$x[,4])
## Low MidHigh MidLow High
## "a" "b" "a" "b"