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

t 检验(两样本/配对) Student's t-test (t-test)

比较两个独立组的均值,或比较同一受试者两个时点的配对均值差。

统计原理

等方差两样本 t 统计量为:

t=xˉ1−xˉ2sp1/n1+1/n2,sp2=(n1−1)s12+(n2−1)s22n1+n2−2t=\frac{\bar{x}_1-\bar{x}_2}{s_p\sqrt{1/n_1+1/n_2}}, \qquad s_p^2=\frac{(n_1-1)s_1^2+(n_2-1)s_2^2}{n_1+n_2-2}

Satterthwaite 方法不合并两组方差,并调整自由度。配对 t 检验先对每对观测求差,再对差值做单样本 t 检验,因此配对关系必须真实存在。

互动推演 · 教学示意 均值差、置信区间与零差异线

Week 8 SBP 变化量:Drug A − Placebo,默认展示 Pooled 95% CI。

线性效应轴
核心关系 t = θ̂ ÷ SE,θ̂ = x̄A − x̄P

选择或聚焦符号,图中的对应元素会同步加强显示。

均值差、置信区间与零差异线 真实默认:均值差 −5.51 mmHg,Pooled 95% CI 为 −6.96 至 −4.06 mmHg;区间整体低于 0,Drug A 的 SBP 下降更多。 ← Drug A 的 SBP 降幅更大 Placebo 的 SBP 降幅更大 → 零差异 0 Pooled 95% CI L -6.96 mmHg U -4.06 mmHg 估计 -5.51 mmHg −12 −6 0 6

小屏提示:图表已定位到点估计,可横向滑动;键盘聚焦后可用左右方向键查看完整坐标。

真实默认:Drug A / Placebo 各 10 例;CHG 均值 −9.17 / −3.66 mmHg

点估计 置信区间 固定参照

当前数值解释

真实默认:均值差 −5.51 mmHg,Pooled 95% CI 为 −6.96 至 −4.06 mmHg;区间整体低于 0,Drug A 的 SBP 下降更多。

解释边界:默认点和区间来自本页 example.csv / SAS 输出。滑杆只按默认上下限距离做几何推演,不会重新拟合数据,也不能替代 t、M–N、精确条件法或 RMST 的正式计算;虚线参照、非劣/等效界值与 RMST 的 τ 均保持锁定,绝不表示可在看过数据后修改方案或 SAP。

什么时候用

终点是连续型且只比较两个均值时使用 t 检验。两组受试者彼此独立时用两样本 t 检验;同一受试者治疗前后或匹配成对数据用配对 t 检验。

SAP 里长这样:

Change from baseline at Week 8 will be compared between treatment groups using a two-sample Satterthwaite t-test, prespecified as the primary analysis without a preliminary variance-test switch. The pooled-variance result and Folded-F test will be presented as supplementary diagnostics. A within-group change may be assessed using a paired t-test.

看到 two-sample t-test / paired t-test / equal variances / Satterthwaite,即可定位到本页。

适用条件速查卡

项条件
终点类型连续型
组数独立样本恰好 2 组;配对样本恰好 2 个成对测量
分析数据范围示例组间分析限定 PARAMCD='SBP'、AVISIT='Week 8'、ANL01FL='Y',每名受试者一行
主要假设观察独立、组内近似正态;Pooled 结果还要求方差齐性
主方法必须在 SAP 中预设;本页教学示例预设 Satterthwaite,不按 Folded-F 的 p 值切换
不满足时重新检查 estimand、数据生成机制与稳健性分析;不能仅因正态性检验或 Folded-F 结果事后换方法

核心 SAS 代码

proc import datafile="example.csv" out=adeff_raw dbms=csv replace;
  guessingrows=max;
run;

data adeff;
  set adeff_raw;
  where paramcd='SBP' and avisit='Week 8' and anl01fl='Y';
run;

/* 主示例:两个独立治疗组;SAP 预设 Satterthwaite 为主方法 */
ods output Statistics=two_sample_statistics
           TTests=two_sample_tests
           Equality=variance_diagnostic;
proc ttest data=adeff;
  class trt01p;
  var chg;
run;
ods output close;

title "Prespecified primary analysis: Satterthwaite";
proc print data=two_sample_statistics(where=(upcase(method)='SATTERTHWAITE')) noobs;
run;
proc print data=two_sample_tests(where=(upcase(method)='SATTERTHWAITE')) noobs;
run;
title;

/* 配对示例:仅 Drug A 组内 AVAL 与 BASE 成对比较 */
proc ttest data=adeff(where=(trt01p='Drug A'));
  paired aval*base;
run;
  • CLASS 变量必须只有两个水平;若有三个及以上治疗组,应转到 ANOVA。
  • 本页把 Satterthwaite 作为事前预设的教学主方法;TWO_SAMPLE_STATISTICS 提供该行的均值差与 CI,TWO_SAMPLE_TESTS 提供 t、自由度与 p 值。若正式 SAP 预设 Pooled,则始终读取 Pooled 行,而不是运行后再看 Folded-F 改口径。
  • Equality of Variances / Folded-F 只用于诊断方差假设;它不能证明方差相等,也不能作为 Pooled 与 Satterthwaite 的自动切换开关。
  • PAIRED aval*base 检验的是同一行内 AVAL - BASE,不能把独立两组误写成配对设计。

变量解释表

变量含义典型来源
USUBJID受试者唯一标识ADSL.USUBJID
TRT01P计划治疗组ADSL.TRT01P
PARAMCD分析参数代码ADEFF.PARAMCD
AVISIT分析访视ADEFF.AVISIT
ANL01FL主分析记录标志ADEFF.ANL01FL
BASE / AVAL / CHG基线值、分析值及较基线变化ADEFF

输出对照

以下为字段定位;先按 SAP 冻结主方法,再映射该方法对应行。本页教学示例固定读取 Method='Satterthwaite'。

Equality of Variances / T-Tests

输出字段编号对应 shell
Folded F 的 Pr > F①补充诊断;不得据此切换主方法
Method(本页为 Satterthwaite)②SAP 事前预设的主结果行
Mean Diff③组间均值差
95% CL Mean Diff(Lower, Upper)④组间差 95% CI
Pr > |t|⑤双侧 p 值

典型疗效 shell 的 Mean Difference (95% CI) 填写 ③ (④),p-value 填写 ⑤。① 只作为模型诊断,不能用来选择 ②;若主要方差方法未在 SAP 中预设,应先澄清分析规范,不能由程序运行结果替代设计决策。

示例数据与程序

  • example.csv — 20 例、两治疗组、单目标访视的原创模拟数据
  • example.sas — 两样本与配对 t 检验完整程序

常见坑

常见坑

  • Folded-F 预检后切换主行:这种数据驱动的两阶段规则会改变整体检验性质;主方法必须由 SAP 事前预设,Folded-F 仅作诊断。
  • 把独立样本当配对样本:配对检验要求同一受试者或预先定义的匹配对。
  • 三组以上反复做 t 检验:会膨胀 I 类错误,应使用 ANOVA 并处理多重比较。
  • 未冻结目标记录:混入多个访视会破坏独立性并重复计入受试者。

SAS 输出语义依据:PROC TTEST 官方说明。该文档同时给出 Pooled 与 Satterthwaite 结果,并提醒不显著的 Folded-F 只表示缺少方差不同的证据,不能证明方差相等。预检后再选择检验的错误率影响参见:Zimmerman (2004), A note on preliminary tests of equality of variances。

相关方法