1. 注意需要考虑样本的平衡

一、多重比较方法分类

1. 基于方差齐性假设的方法

方法核心思想优点缺点R 函数
LSD (最小显著差异法)用 t 检验做所有两两比较,不控制总体错误率检验力最高,最敏感犯Ⅰ类错误概率最大pairwise.t.test(..., p.adj="none")
Tukey HSD基于学生化极差分布,控制族系错误率 (FWER)严格控制FWER,适用于所有两两比较较保守,检验力较低TukeyHSD(), multcomp::glht()
Bonferroni将显著性水平α除以比较次数简单易懂,非常保守过于保守,检验力很低pairwise.t.test(..., p.adj="bonferroni")
Scheffé最保守的方法,允许任何形式的比较(包括复杂对比)可进行任意线性对比,FWER控制严格检验力最低ScheffeTest() (DescTools)

2. 方差不齐时的方法

方法适用场景特点R 函数
Games-Howell方差不齐+样本量不等非参数方法,无需方差齐性假设rstatix::games_howell_test(), PMCMRplus::gamesHowellTest()
Tamhane’s T2方差不齐但需控制FWER保守,适用于方差异常大的情况rstatix::tamhane_t2_test(), PMCMRplus::tamhaneT2Test()

3. 非参数方法(数据非正态)

方法基于的检验特点R 函数
Dunn’s TestKruskal-Wallis 秩和检验控制FWER,适用于非正态数据dunn.test::dunn.test(), rstatix::dunn_test()
Conover-ImanKruskal-Wallis 秩和检验比Dunn检验更强大PMCMRplus::posthoc.kruskal.conover.test()
NemenyiFriedman 检验用于随机区组设计PMCMRplus::posthoc.friedman.nemenyi.test()

二、方法选择决策树

graph TD
    A[ANOVA/Kruskal-Wallis显著?] --> B{数据是否正态?};
    B -->|是| C{方差是否齐性?};
    B -->|否| D[使用非参数方法];
    C -->|是| E[使用参数方法];
    C -->|否| F[使用方差不齐方法];
    
    D --> D1[Dunn's Test];
    D --> D2[Conover-Iman];
    
    F --> F1[Games-Howell];
    F --> F2[Tamhane's T2];
    
    E --> E1{比较类型?};
    E1 -->|所有两两比较| E2[Tukey HSD];
    E1 -->|与对照组比较| E3[Dunnett];
    E1 -->|探索性研究| E4[LSD-Fisher];
    E1 -->|非常保守| E5[Bonferroni];

三、关键概念区别

1. 错误率控制类型

  • FWER (Family-Wise Error Rate):至少犯一个Ⅰ类错误的概率(Tukey, Bonferroni, Dunn)
  • FDR (False Discovery Rate):允许假阳性,但控制其比例(Benjamini-Hochberg)

2. 保守程度排序(从最保守到最宽松)

Scheffé > Bonferroni > Tukey > Dunn > Games-Howell > LSD

3. 检验力排序(从最高到最低)

LSD > Games-Howell > Tukey > Dunn > Bonferroni > Scheffé


四、R代码示例

# 参数方法(方差齐)
pairwise.t.test(y, group, p.adj = "bonferroni")  # Bonferroni
TukeyHSD(aov(y ~ group))                         # Tukey HSD
 
# 方差不齐方法
library(rstatix)
games_howell_test(data, y ~ group)               # Games-Howell
 
# 非参数方法
library(dunn.test)
dunn.test(y, group, method = "bonferroni")       # Dunn's test

五、实践建议

  1. 默认推荐:Tukey HSD(方差齐)或 Games-Howell(方差不齐)
  2. 与对照组比较:Dunnett’s test(如多个处理组与一个对照组比较)
  3. 非正态数据:Dunn’s test
  4. 探索性研究:可使用 LSD 或 FDR 方法(如Benjamini-Hochberg)
  5. 非常保守的需求:Bonferroni 或 Scheffé

选择时需在 错误控制 和 检验力 之间取得平衡,并根据研究目标和数据特征做出合适选择。