2016-12-10 2 views
1

у меня есть следующие данные (DAT)Как выполнить парный тест Tukey в R?

у меня есть следующие данные (DAT)

V W X Y Z 
1 8 89 3 900 
1 8 100 2 800 
0 9 333 4 980 
0 9 560 1 999 

Я хотел бы выполнить тест попарного TukeysHSD к вышеуказанным набором данных.

library(reshape2) 
dat1 <- gather(dat) #convert to long form 
pairwise.t.test(dat1$key, dat1$value, p.adj = "holm") 

Однако каждый раз, когда я пытаюсь запустить его, он продолжает работать и не дает выхода. Любые предложения о том, как исправить это?

Я также хотел бы выполнить те же тесты, используя функцию TukeyHSD(). Однако, когда я пытаюсь использовать широкий/длинный формат, я бегу в ошибку, которая говорит

" Error in UseMethod("TukeyHSD") : 
    no applicable method for 'TukeyHSD' applied to an object of class "data.frame" 

ответ

4

Мы должны «х», чтобы быть DAT1 $ значение, поскольку он не указан первый аргумент берется как «х 'и второй, как „г“

pairwise.t.test(dat1$value, dat1$key, p.adj = "holm") 
#data: dat1$value and dat1$key 

# V  W  X  Y  
#W 1.000 -  -  -  
#X 0.018 0.018 -  -  
#Y 1.000 1.000 0.018 -  
#Z 4.1e-08 4.1e-08 2.8e-06 4.1e-08 

#P value adjustment method: holm 

Или мы указываем аргумент и использовать в любом порядке, мы хотели

pairwise.t.test(g = dat1$key, x= dat1$value, p.adj = "holm") 

Что касается TukeyHSD

TukeyHSD(aov(value~key, data = dat1), ordered = TRUE) 
#Tukey multiple comparisons of means 
# 95% family-wise confidence level 
# factor levels have been ordered 

#Fit: aov(formula = value ~ key, data = dat1) 

#$key 
#  diff  lwr  upr  p adj 
#Y-V 2.00 -233.42378 237.4238 0.9999999 
#W-V 8.00 -227.42378 243.4238 0.9999691 
#X-V 270.00 34.57622 505.4238 0.0211466 
#Z-V 919.25 683.82622 1154.6738 0.0000000 
#W-Y 6.00 -229.42378 241.4238 0.9999902 
#X-Y 268.00 32.57622 503.4238 0.0222406 
#Z-Y 917.25 681.82622 1152.6738 0.0000000 
#X-W 262.00 26.57622 497.4238 0.0258644 
#Z-W 911.25 675.82622 1146.6738 0.0000000 
#Z-X 649.25 413.82622 884.6738 0.0000034 
+0

Если я хочу использовать функцию TukeyHSD(), могу ли я сделать это в длинном формате? – Biotechgeek

+0

@Biotechgeek Возможно, 'TukeyHSD (aov (значение ~ key, data = dat1), ordered = TRUE)' – akrun

+1

Спасибо! Это было очень полезно – Biotechgeek

Смежные вопросы