24. 均值的T检验
(一)t分布
2),若样本均数X服从正态分布N(?,?X经过U变换
X???X, 可以
变成标准正态分布N(0, 12), 也成为U分布.
实际工作中,由于总体标准差?X未知,用样本标准差SX代替,则
X??不再服从标准正态分布,而是服从t分布: SXt?X??X???, ??n?1 SXS/n其中,S为样本方差,n为样本含量,v为自由度。
t分布只有一个参数——自由度v. v→∞时,t分布无限接近标准正态分布。
t分布的图形
说明:
单侧概率(单侧尾部面积)用t?,?表示; 双侧概率(双侧尾部面积)用t?/2,?表示;
例如,t0.05,10=1.812, 则P(t≤-1.812)=P(t≥1.812)=0.05 t0.05/2,10=2.228, 则P(t≤-2.228)+P(t≥2.228)=0.05
(二)t检验
t检验,是一种针对连续变量的参数假设检验,用来检验“单样本均值与已知均值(单样本t检验)、两独立样本均值(独立样本t检验)、配对设计资料的均值(配对样本t检验)”是否存在差异,这种差异是否能推论至总体。
T检验适用于样本含量较小(比如n<60,大样本数据可以用U检验),适用条件:
①数据服从正态分布;
②满足方差齐性(方差相等);
注:若数据不满足①,②,可以尝试对数据做变量变换:对数变换、平方根变换、倒数变换、平方根反正弦变换等。
方差齐性检验
要求两样本数据的总体均服从正态分布,统计量F为为较大的方差与较小的方差的比值:
S12F?2, ?1?n1?1, ?2?n2?1
S2原假设H0:两总体方差相等; H1:两总体方差不相等。
使用car包中的函数leveneTest()实现,基本格式为:
leveneTest(y, group, center=, ...) leveneTest(formula,data,subset,...)
其中,y为样本数据;
group为因子型的分组变量;
center指定计算每组的中心的方法,默认是中位数median,也可以用均值mean
formula设置公式格式:formula=定量变量~分组变量 示例:
setwd(\办公资料/R语言/R语言学习系列/codes\load(\ head(chengji,3)
class sex Math English Rank 1 1 1 60 66 4 2 1 1 42 58 5 3 1 1 78 95 3 library(car)
leveneTest(Math~as.factor(class),data=chengji)
Levene's Test for Homogeneity of Variance (center = median)
Df F value Pr(>F)
group 1 0.0284 0.8669 48
说明:P值=0.8669>0.05, 接受原假设,即方差齐。
注:leveneTest是先对数据做一定变换再进行组间齐性检验,也是一般统计分析软件做方差齐次检验的方法。另外,R语言自带的方差齐性检验函数var.test()和bartlett.test()是对原始数据的方差进行检验(只适合正态或对称数据),所以P值结果会有差异。它们的基本格式是一致的:
var.test(x, y,alternative=c(\\\
conf.level=0.95, ...)
var.test(formula=, data,subset,...)
其中,x,y为数值向量;
示例:
bartlett.test(Math~as.factor(class),data=chengji)
Bartlett test of homogeneity of variances
data: Math by as.factor(class)
Bartlett's K-squared = 0.063063, df = 1, p-value = 0.8017
(三)R语言实现
用函数t.test()实现,基本格式为:
t.test(x, y=NULL,alternative=,mu=0, paired=FALSE,
var.equal=FALSE,conf.level=0.95, ...)
其中,x, y为要检验的样本数据,若只有x则进行单样本t检验;
alternative指定备择假设,默认\双侧检验(t≠t0),\左侧检验(t≤t0),\右侧检验(t≥t0);
mu指定要检验的均值;
paired指定是否做配对t检验,默认FALSE; var.equal指定两组样本是否方差齐; conf.level为置信区间的置信水平; 或者使用公式格式:
t.test(formula, data, subset, na.action, ...)
其中,formula指定公式的形式:var~factor,左侧是数值变量,右侧是二分组的因子变量。
一、单样本的t检验 要求数据满足正态性。
问题1:检验“数学成绩”的平均值是否≥78分。
setwd(\办公资料/R语言/R语言学习系列/codes\load(\#两个班50个人的数学英语成绩等 head(chengji)
class sex Math English Rank 1 1 1 60 66 4 2 1 1 42 58 5 3 1 1 78 95 3 4 1 2 65 74 4 5 1 2 68 84 4 6 1 1 57 58 5
shapiro.test(chengji$Math)#正态性检验 Shapiro-Wilk normality test
data: chengji$Math W = 1, p-value = 0.3
t.test(chengji$Math,mu=78,alternative=\ One Sample t-test
data: chengji$Math
t = -1, df = 50, p-value = 0.9
alternative hypothesis: true mean is greater than 78 95 percent confidence interval: