【问题标题】:How to perform Tukey's pairwise test in R?如何在 R 中执行 Tukey 的成对测试?
【发布时间】:2016-12-10 16:29:55
【问题描述】:

我有以下数据(dat)

我有以下数据(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"

【问题讨论】:

    标签: r statistics runtime-error tukey


    【解决方案1】:

    我们需要 'x' 为 dat1$value,因为未指定第一个参数为 'x',第二个参数为 'g'

    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
    

    【讨论】:

    • 如果我想使用函数 TukeyHSD(),我可以用长格式吗?
    • @Biotechgeek 也许TukeyHSD(aov(value~key, data = dat1), ordered = TRUE)
    • 谢谢!这真的很有帮助
    猜你喜欢
    • 2020-07-06
    • 1970-01-01
    • 2020-07-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多