7.4 t检验
在研究中最常见的行为就是对两个组进行比较。接受某种新药治疗的患者是否较使用某种现有药物的患者表现出了更大程度的改善?某种制造工艺是否较另外一种工艺制造出的不合格品更少?两种教学方法中哪一种更有效?如果你的结果变量是类别型的,那么可以直接使用7.3节中阐述的方法。这里我们将关注结果变量为连续型的组间比较,并假设其呈正态分布。
为了阐明方法,我们将使用MASS包中的UScrime
数据集。它包含了1960年美国47个州的刑罚制度对犯罪率影响的信息。我们感兴趣的结果变量为Prob
(监禁的概率)、U1
(14~24岁年龄段城市男性失业率)和U2
(35~39岁年龄段城市男性失业率)。类别型变量So
(指示该州是否位于南方的指示变量)将作为分组变量使用。数据的尺度已被原始作者缩放过。(注意,我原本打算将本节命名为“旧南方的罪与罚”,但是最后理智还是战胜了情感。)
7.4.1 独立样本的t检验
如果你在美国的南方犯罪,是否更有可能被判监禁?我们比较的对象是南方和非南方各州,因变量为监禁的概率。一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的假设。这里假设两组数据是独立的,并且是从正态总体中抽得。检验的调用格式为:
- t.test(y ~ x, data)
其中的y
是一个数值型变量,x
是一个二分变量。调用格式或为:
- t.test(y1, y2)
其中的y1
和y2
为数值型向量(即各组的结果变量)。可选参数data
的取值为一个包含了这些变量的矩阵或数据框。与其他多数统计软件不同的是,这里的t检验默认假定方差不相等,并使用Welsh的修正自由度。你可以添加一个参数var.equal=TRUE
以假定方差相等,并使用合并方差估计。默认的备择假设是双侧的(即均值不相等,但大小的方向不确定)。你可以添加一个参数alternative="less"
或alternative="greater"
来进行有方向的检验。
在下列代码中,我们使用了一个假设方差不等的双侧检验,比较了南方(group 1
)和非南方(group 0
)各州的监禁概率:
> library(MASS)
> t.test(Prob ~ So, data=UScrime)
Welch Two Sample t-test
data: Prob by So
t = -3.8954, df = 24.925, p-value = 0.0006506
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
-0.03852569 -0.01187439
sample estimates:
mean in group 0 mean in group 1
0.03851265 0.06371269
你可以拒绝南方各州和非南方各州拥有相同监禁概率的假设(p < .001)。
注意 由于结果变量是一个比例值,你可以在执行t检验之前尝试对其进行正态化变换。在本例中,所有对结果变量合适的变换(
Y/1-Y
、log(Y/1-Y)
、arcsin(Y)
、arcsin(sqrt(Y)
)都会将检验引向相同的结论。数据变换详述于第8章。
7.4.2 非独立样本的t检验
再举个例子,你可能会问:较年轻(14~24岁)男性的失业率是否比年长(35~39岁)男性的失业率更高?在这种情况下,这两组数据并不独立。你不能说亚拉巴马州的年轻男性和年长男性的失业率之间没有关系。在两组的观测之间相关时,你获得的是一个非独立组设计(dependent groups design)。前—后测设计(pre-post design)或重复测量设计(repeated measures design)同样也会产生非独立的组。
非独立样本的t检验假定组间的差异呈正态分布。对于本例,检验的调用格式为:
- t.test(y1, y2, paired=TRUE)
其中的y1
和y2
为两个非独立组的数值向量。结果如下:
> library(MASS)
> sapply(UScrime[c("U1","U2")], function(x)(c(mean=mean(x),sd=sd(x))))
U1 U2
mean 95.5 33.98
sd 18.0 8.45
> with(UScrime, t.test(U1, U2, paired=TRUE))
Paired t-test
data: U1 and U2
t = 32.4066, df = 46, p-value < 2.2e-16
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
57.67003 65.30870
sample estimates:
mean of the differences
61.48936
差异的均值(61.5)足够大,可以保证拒绝年长和年轻男性的平均失业率相同的假设。 年轻男性的失业率更高。事实上,若总体均值相等,获取一个差异如此大的样本的概率小于 0.000 000 000 000 000 22(即2.2e-16)。
7.4.3 多于两组的情况
如果想在多于两个的组之间进行比较,应该怎么做?如果能够假设数据是从正态总体中独立抽样而得的,那么你可以使用方差分析(ANOVA)。ANOVA是一套覆盖了许多实验设计和准实验设计的综合方法。就这一点来说,它的内容值得单列一章。你可以随时离开本节转而阅读第9章。