这两个检验是统计学中专门用于处理配对设计(Paired Design)或重复测量设计(Repeated Measures Design)下二分类数据(Binary Data,如是/否、阳性/阴性、检出/未检出) 的经典非参数方法。
在您的课题中,同一个患者在三个时间点(入院、手术、出院)被反复采样,这构成了天然的“配对/纵向”关系。合作者建议将数据转换为“0/1”矩阵,正是为了使用这套统计体系。
以下为您全面、深入地解析这两个检验的原理、逻辑以及在您课题中的具体应用。
一、 McNemar 检验 (McNemar’s Test)
1. 核心定位 用于比较两个相关(配对)样本的二分类频率是否有显著差异。 在您的课题中,用于比较两个时间点(例如:入院 vs. 手术)某种 ST(如 ST2)的检出率是否有变化。
2. 核心逻辑:只关注“发生变化的样本” 很多初学者会误以为 McNemar 检验是比较两组的总阳性率,其实不然。它的核心逻辑是:如果两个时间点没有差异,那么“由阴转阳”的人数应该等于“由阳转阴”的人数。
假设我们有 $N$ 个患者,比较 Time 1(入院)和 Time 2(手术),数据可以整理成如下的 2×2 配对列联表:
| Time 2: 检出 (1) | Time 2: 未检出 (0) | 合计 | |
|---|---|---|---|
| Time 1: 检出 (1) | $a$ (一直检出) | $b$ (由阳转阴) | $a+b$ |
| Time 1: 未检出 (0) | $c$ (由阴转阳) | $d$ (一直未检出) | $c+d$ |
| 合计 | $a+c$ | $b+d$ | $N$ |
- $a$ 和 $d$:代表状态没有改变的患者。它们对判断“时间点之间是否有差异”不提供任何信息。
- $b$ 和 $c$:代表状态发生改变的患者(不一致对子,Discordant pairs)。
- McNemar 检验的本质:就是检验 $b$ 和 $c$ 是否相等。如果 $b$ 远大于 $c$,说明手术导致了 ST 的清除或丢失;如果 $c$ 远大于 $b$,说明手术导致了 ST 的新发获得。
3. 统计量计算 在 $b+c$ 足够大(通常 $>25$)时,服从卡方分布: $$ \chi^2 = \frac{(b – c)^2}{b + c} $$ (注:如果 $b+c < 25$,卡方近似不准确,必须使用 McNemar’s Exact Test 精确检验,基于二项分布计算。)
二、 Cochran’s Q 检验 (Cochran’s Q Test)
1. 核心定位 McNemar 检验只能比较两个时间点。当您的研究有三个或三个以上相关时间点(入院、手术、出院)时,如果您做 3 次 McNemar 检验,会大幅增加假阳性率(Multiple testing problem)。 Cochran’s Q 检验就是 McNemar 检验在 3 个及以上时间点的扩展,用于评估多个时间点的整体检出率是否存在差异。
2. 核心逻辑 它类似于配对设计的 ANOVA(重复测量方差分析),但针对的是二分类数据。它通过计算每个时间点的总阳性数,与“期望的总阳性数”之间的偏差,构建一个服从卡方分布的 $Q$ 统计量。
3. 严格的前提假设(避坑指南)
- 数据必须完整(Complete Block):Cochran’s Q 检验要求每个受试者在所有时间点都有数据。如果某个患者只有入院和出院数据,缺失了手术数据,传统的 Cochran’s Q 会报错或将其整行剔除。
- 样本量要求:患者数量不能太少,否则检验效能(Power)极低。
三、 针对您课题的标准统计分析流程
面对 ST2、ST5、ST23 这三个目标 ST,以及 3 个时间点,严谨的统计学报告流程应如下:
第一步:整体评估 (Omnibus Test)
针对每一个 ST(例如 ST2),运行 Cochran’s Q 检验。
- 零假设 ($H_0$):ST2 在入院、手术、出院三个时间点的检出率完全相同。
- 目的:回答“ST2 的定植状态在整体病程中是否发生了波动?”
- 报告:如果 $p 0.05$,通常认为无整体差异,但您仍可以基于临床假设进行第二步(事后比较)。
第二步:事后两两比较 (Post-hoc Pairwise Comparisons)
使用 McNemar 检验(或精确 McNemar 检验)进行三组两两对比:
- Admission vs. Surgery (入院 vs. 手术)
- Surgery vs. Discharge (手术 vs. 出院)
- Admission vs. Discharge (入院 vs. 出院)
第三步:多重检验校正 (Multiple Testing Correction)
因为您对 ST2 做了 3 次 McNemar 检验,假阳性率膨胀了。必须使用 Benjamini-Hochberg (BH) 方法对得到的 3 个原始 p 值进行校正,得到 $p_{adj}$ (FDR)。
- 只有当 $p_{adj} < 0.05$ 时,才能宣称这两个时间点之间的检出率差异具有统计学显著性。
四、 为什么合作者的建议非常专业且切中要害?
在微生物组学和流行病学中,“丰度(Abundance)” 和 “检出率/流行率(Prevalence)” 代表两个完全不同的生物学维度:
- 克服“零膨胀”与“极端值”干扰: 表皮葡萄球菌的某些 ST(如 ST2)在很多患者鼻腔中可能是极低丰度甚至检测不到的(大量 0 值)。如果您用绝对丰度做 Wilcoxon 或 t 检验,结果极易被个别“超级携带者”(某患者 ST2 丰度突然飙升至 50%)拉偏,导致统计失效。 转换为 0/1 矩阵后,直接忽略了丰度大小的干扰,纯粹考察“有没有”的问题,统计效能(Power)往往更高。
- 直接对接临床意义(院感控制):
ST2、ST5 是国际公认的与医院获得性感染(HAI)、生物膜形成、多重耐药(如 MRSE) 高度相关的高危克隆系。
在临床视角下,患者是否“定植(Colonized)”了高危 ST,比定植了多少个细菌更关键。合作者建议分析这三个时间点的检出比例(Prevalence %),实际上是在回答一个极具临床价值的流行病学问题:
- “外科手术干预(及住院环境)是否增加了患者获得院内高危 ST 克隆(如 ST2/ST5)的风险?” (如果 Surgery/Discharge 的检出率显著高于 Admission)。
- “手术或抗生素使用是否清除了患者原有的定植?” (如果检出率显著下降)。
五、 进阶建议:如果数据有缺失值怎么办?
如前所述,Cochran’s Q 检验对缺失值非常苛刻。在真实的临床纵向研究中,患者脱落或样本采集失败导致的数据缺失很常见。
如果您的数据中存在部分患者缺失某个时间点(例如只有 .1 和 .3,没有 .2),除了我上一轮提供的代码中使用的 tryCatch 容错机制外,您在论文的方法学部分可以提及使用更强大的广义线性混合模型 (GLMM, Generalized Linear Mixed Models) 作为补充或替代。
- GLMM 的优势:它可以处理二分类数据(二项分布
family=binomial),将“时间点”作为固定效应(Fixed effect),将“患者 ID”作为随机截距(Random intercept,(1|PatientID))。 - 最大优点:GLMM 采用最大似然估计(Maximum Likelihood),允许数据存在缺失(Missing at Random),不需要像 Cochran’s Q 那样剔除任何不完整配对的样本,在顶级期刊的纵向队列研究中更受审稿人青睐。
总结:合作者的建议将您的分析从“描述性的微生物群落变化”提升到了“具有明确临床流行病学意义的病原体定植动态研究”。使用 Cochran’s Q + 配对 McNemar + BH校正 的组合拳,在统计学上无懈可击,能够非常漂亮地回应审稿人可能提出的质疑。