t 检验围绕均值及其标准误进行推断。选择哪一种 t 检验,首先取决于样本之间是独立还是配对,而不是数据表里有几列。
三种基本设计
| 设计 | 问题 | R 调用 |
|---|---|---|
| 单样本 | 样本均值是否等于给定值 | t.test(x, mu = value) |
| 两独立样本 | 两个独立总体的均值是否不同 | t.test(y ~ group) |
| 配对样本 | 同一对象两次测量的平均差是否为零 | t.test(before, after, paired = TRUE) |
配对检验分析的是每对观测的差值。若忽略配对,既浪费设计信息,也会使用错误的标准误。
单样本检验
x <- c(4.8, 5.1, 5.4, 4.9, 5.2, 5.0)
t.test(x, mu = 5)
零假设为总体均值等于 5。输出中的置信区间描述与数据相容的总体均值范围。
独立样本:默认使用 Welch
set.seed(123)
df <- data.frame(
group = rep(c("A", "B"), each = 30),
value = c(rnorm(30, 5, 1), rnorm(30, 5.7, 1.5))
)
t.test(value ~ group, data = df)
R 默认执行 Welch 两样本 t 检验,不要求两组方差相等。只有研究设计和数据支持共同方差假设时,才设置:
t.test(value ~ group, data = df, var.equal = TRUE)
不应仅因为方差齐性检验“不显著”就自动切换到 Student t 检验;方差检验本身也受样本量影响,Welch 通常是稳妥默认值。
配对检验
before <- c(132, 145, 138, 151, 140)
after <- c(125, 139, 136, 143, 135)
t.test(before, after, paired = TRUE)
应检查 before 和 after 的顺序确实一一对应。配对数据缺失时,也必须明确哪些完整配对进入分析。
假设与诊断
t 检验的关键条件包括:
- 观测之间符合设计规定的独立性;
- 均值是合理的目标参数;
- 单样本和配对检验中的值或差值没有严重异常;
- 小样本下,相关分布不能严重偏离正态;
- Student 两样本检验额外假设方差相等。
正态性不是通过一次 Shapiro 检验机械决定。应同时查看分布、离群点、样本量和研究设计。
报告效应,而不只报告 p 值
result <- t.test(value ~ group, data = df)
result$estimate
result$conf.int
result$statistic
result$parameter
result$p.value
正式结果应包括两组描述统计、均值差、95% 置信区间、t 值、自由度和 p 值。标准化效应量可补充不同量纲间的比较,但不能取代原始单位中的差异。
Wilcoxon 秩和与符号秩检验
独立两组可以使用秩和检验:
wilcox.test(value ~ group, data = df)
配对数据使用符号秩检验:
wilcox.test(before, after, paired = TRUE)
秩检验并不简单等同于“中位数检验”。它比较分布位置或配对差的秩结构,具体解释仍依赖分布形状。
置换检验
在独立性零假设下随机重排组标签,可构造均值差的经验零分布:
observed <- with(df, mean(value[group == "B"]) - mean(value[group == "A"]))
permuted <- replicate(5000, {
shuffled <- sample(df$group)
mean(df$value[shuffled == "B"]) - mean(df$value[shuffled == "A"])
})
mean(abs(permuted) >= abs(observed))
置换方案必须尊重设计;配对或分层研究不能随意打乱全部标签。
Bootstrap 区间
Bootstrap 通过对观测重抽样估计统计量的不确定性:
mean_diff <- function(data, index) {
d <- data[index, ]
with(d, mean(value[group == "B"]) - mean(value[group == "A"]))
}
library(boot)
fit <- boot(df, statistic = mean_diff, R = 2000)
boot.ci(fit, type = c("perc", "bca"))
重抽样单位同样必须匹配设计。重复测量、家庭或中心聚类数据不能按单行当作独立样本抽取。
方法选择应从研究设计和目标参数出发:关心均值时 t/Welch 与均值差区间通常最直接;分布严重偏斜或目标是秩位置时考虑秩方法;复杂抽样下可使用符合设计的置换或 bootstrap。