跳到主要内容
临床统计方法速查站
方法分类

卡方检验 / Fisher 精确检验 Chi-Square Test / Fisher's Exact Test (Chi-square / Fisher)

比较两个独立治疗组的二分类结局比例,并按期望频数选择 Pearson 卡方或 Fisher 精确检验。

统计原理

Pearson 卡方检验比较每个格子的观测频数 OrcO_{rc} 与独立性假设下的期望频数 ErcE_{rc}

X2=rc(OrcErc)2Erc,Erc=nrncn.X^2 = \sum_r\sum_c \frac{(O_{rc}-E_{rc})^2}{E_{rc}}, \qquad E_{rc}=\frac{n_{r\cdot}n_{\cdot c}}{n}.

样本足够大时,X2X^2 近似服从卡方分布。Fisher 精确检验则在行、列边际固定的条件下,直接用超几何分布计算当前表及同等或更极端表格的概率,不依赖大样本近似。

观察频数与期望频数

差距越大,独立性假设越不符合;小格频数低时用 Fisher。

什么时候用

终点是二分类(应答/未应答、发生/未发生),要比较两个独立治疗组的比例,且没有需要校正的分层因素或协变量时使用。样本量充足时通常报告 Pearson 卡方检验;稀疏小样本时按 SAP 预先规定的规则改用 Fisher 精确检验。

SAP 里长这样:

The response rates at Week 8 will be compared between treatment groups using a Pearson chi-square test. If any expected cell count is less than 5, a two-sided Fisher’s exact test will be used instead.

看到 chi-square / expected cell count / Fisher’s exact / two-sided 等词,即可定位到本页。

适用条件速查卡

条件
终点类型二分类,每名受试者在目标访视只有一个结局
组数本页代码和输出对照限定 2 个独立治疗组
输入范围已按 SAP 限定分析集、目标参数和目标访视;缺失值处理规则已明确
Pearson 前提观测独立,且期望频数达到 SAP 规定阈值
Fisher 场景任一格期望频数过小,或 SAP 明确指定精确检验
有分层/协变量时分层因素 → CMH;需要 OR 或连续协变量 → Logistic 回归

核心 SAS 代码

proc freq data=adeff order=data;
  /* 输入须先限定分析集、目标 PARAMCD 与目标 AVISIT */
  tables trt01p*avalc / chisq fisher;  /* 行=治疗组,列=结局;输出 Pearson 与 Fisher */
  exact fisher;                        /* 请求 Fisher 精确 p 值 */
run;
  • 本页模拟数据先出现 Drug AY,因此 order=data 将它们显示为第一行、第一列。
  • 卡方和 Fisher 会同时生成;最终填 shell 的哪一个 p 值,必须按 SAP 的预设切换规则选择,不能看结果后再挑。
  • 该程序只检验比例是否不同,不直接校正中心、基线或其他协变量。

变量解释表

变量含义典型来源
USUBJID受试者唯一标识ADSL.USUBJID
TRT01P计划治疗组;本页第一行是 Drug AADSL.TRT01P
AVALC二分类分析结局;Y=应答,N=未应答ADEFF.AVALC

输出对照

以下数值由本页 12 例模拟数据在 SAS 9.4 TS1M8(SAS/STAT 15.3)实跑获得;表格样式为关键输出的精简展示。

Cross-Tabular Frequencies

TRT01PYNTotal
Drug A516
Placebo156

Chi-Square Tests / Fisher’s Exact Test

检验StatisticDFTwo-sided Pr
Pearson Chi-Square5.3333 ①10.0209 ②
Fisher’s Exact0.0801 ③

本例每格期望频数均为 3,小于 5;若 SAP 采用“任一格期望频数 <5 则 Fisher”的规则,shell 应填 Fisher 结果。

Shell 行填入
Response, n/N (%) — Drug A5/6 (83.3%) ④
Response, n/N (%) — Placebo1/6 (16.7%) ⑤
Two-sided p-value③(按本例 SAP 切换规则)

示例数据与程序

  • example.csv — 12 例原创模拟受试者,刻意包含稀疏格
  • example.sas — 读入数据并同时运行 Pearson 卡方与 Fisher 精确检验

常见坑

实战边界

  • 检验切换必须预设:期望频数阈值、单双侧和精确算法以 SAP 为准,不能根据哪个 p 值显著再决定。
  • 百分比分母:ITT、Safety Set、非缺失受试者或可评价集可能不同;表内 n/N 必须与 shell 定义一致。
  • 重复记录:同一受试者若保留多个访视,会破坏独立性;分析前先限定目标记录。
  • 方向不是本检验的结论:p 值只说明比例是否有差异,治疗方向应结合各组率或另报率差/OR。

相关方法

  • Logistic 回归 对二分类应答概率建模,校正基线和中心等协变量,并输出治疗组调整后 OR、95% CI 与 p 值。
  • Cochran-Mantel-Haenszel 检验 在预先规定的中心或随机分层因素内比较治疗组二分类结局,并给出分层校正检验与共同 OR。