r-成对统计检验的汇总列表



简介

在进行方差分析后,我们通常会进行一系列成对比较。当组的数量相对较大时,成对比较的数量会变得很大(这是它的三角形数量)。在图形上,通过用同一个字母标记没有显著差异的组是很常见的,因此有一个产生这些字母的函数会很方便。

目标

我正在尝试在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"