t 检验

来源:互联网 发布:淘宝pad版 编辑:程序博客网 时间:2024/04/29 10:15

t检验

T检验,亦称student t检验(student’s t test),主要用于变量为连续型的组间比较,样本含量较小(例如n<30),总体标准差σ未知且服从正态分布.

T检验是用于小样本(样本容量小于30)的两个平均值差异程度的检验方法。

它是用T分布理论来推断差异发生的概率,从而判定两个平均数的差异是否显著。

为了阐明方法,我们将使用MASS包中的UScrime数据集。它包含1960年美国47个州的刑罚制度对犯罪率影响的信息。我们感兴趣的结果变量为 Prob(监禁的概率)、U1(14-24岁年龄段城市男性失业率)和U2(35-39岁年龄段城市男性失业率)。类别型变量 So(指示该州是否位于南方的指示变量)将作为分组变量使用。

1. 独立样本的t检验

我们比较的对象是南方和非南方各州,因变量为监禁的概率。一个针对两组的独立样本t检验可以用于检验两个总体的均值相等的假设。这里假设两组数据是独立的,并且是从正态总体中抽得。
检验的调用格式为:

t.test(y ~ x,data)其中 y 是一个数值型变量, x 是一个二分变量

t.test(y1,y2)其中的 y1 和 y2 为数值型向量(即各组的结果变量)。

在下列代码中,我们使用了一个假设方差不等的双侧检验,比较了南方(group1)和非南方(group0)各州的监禁概率:

library(MASS)t.test(Prob ~ So, data = UScrime)

可以拒绝南方各州和非南方各州拥有相同监禁概率的假设(p < .001)。

library(MASS)t.test(UScrime$Prob,UScrime$So)

默认地,t.test不会假设样本具有相同的方差,因此该函数默认地调用Welch t检验方法而不是student t检验。

如果我们要调用student t检验方法,那么我们需要设置参数var.equal=TRUE。

library(MASS)t.test(Prob ~ So, data = UScrime,var.equal=TRUE)

2. 非独立样本的t检验

较年轻(14-24岁)男性的失业率U1是否比年长(35-39岁)男性的失业率U2更高?在这种情况下,这两组数据并不独立。你不能说亚拉巴马州的年轻男性和年长男性的失业率之间没有关系。

非独立样本的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))))with(UScrime,t.test(U1, U2,paired=TRUE))##with就是把所有操作都限制在数据框上。比如说你手上有两组数据,asian是亚洲人的身体参数:体重身高视力等等,european是欧洲人的,那么with(asian,height)就是调去asian数据中的height.with(european,height) 就是调用european数据中的height

差异的均值(61.5)足够大,可以保证拒绝年长和年轻男性的平均失业率相同的假设。年轻男性的失业率更高。

3. 多于两组的情况

如果想在多于两个的组之间进行比较,应该怎么做?如果能够假设数据是从正态总体中独立抽样而得的,那么你可以使用方差分析(ANOVA)。ANOVA是一套覆盖了许多实验设计和准实验设计的综合方法。

0 0
原创粉丝点击