2015-12-01 2 views
0

ВведениеСуммируя список попарных статистических тестов

После выполнения 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" 

ответ

2

Попробуйте multcompView пакет.

library(multcompView) 
multcompLetters(z$x[,4]) 
## Low MidHigh MidLow High 
## "a"  "b"  "a"  "b" 
Смежные вопросы