基于R实现统计中的检验方法---T检验

浏览: 1613

作者:徐涛,19年应届毕业生,专注于珊瑚礁研究,喜欢用R各种清洗数据。

知乎:

https://www.zhihu.com/people/parkson-19/posts

前言

T检验,亦称student t检验(Student's t test),主要用于样本含量较小(例如n < 30),总体标准差σ未知的正态分布。T检验是用t分布理论来推论差异发生的概率,从而比较两个平均数的差异是否显著。

1.适用条件

已知一个总体均数;可得到一个样本均数及该样本标准差;样本来自正态或近似正态总体。

备注:若是单独样本T检验,必须给出一个标准值或总体均值,同时,提供一组定量的观测结果,应用t检验的前提条件是该组资料必须服从正态分布;若是配对样本T检验,每对数据的差值必须服从正态分布;若是独立样本T检验,个体之前相互独立,两组资料均取自正态分布的总体,并满足方差齐性。之所以需要这些前提条件,是因为必须在这样的前提下所计算出的t统计量才服从t分布,而t检验正是以t分布作为其理论依据的检验方法。后面的方差分析,其独立样本T检验的前提条件是相同的,即正态性额方差齐性。(参考:t检验和方差分析的前提条件及应用误区_百度文库(链接见文末)说的非常详细)

2.分类

单总T检验(单独样本T检验),双总T检验(一是独立样本T检验,另一是配对样本T检验)

备注:单独样本T检核与独立样本T检验的区别。单独样本T检验(One-Samples T Test)用于进行样本所在总体均数与已知总体均数的比较,独立样本T检验(Independent-Samples T Test)用于进行两样本均数的比较。

3.R实例

  1—————————#单样本T检验#——————————————
 2#某鱼塘水的含氧量多年平均值为4.5mg/L,现在该鱼塘设10点采集水样,测定水中含氧量(单位:mg/L)分别为:
 3#4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26,问该次抽样的水中含氧量与多年平均值是否有显著差异?
 4Sites<-c(4.33,4.62,3.89,4.14,4.78,4.64,4.52,4.55,4.48,4.26)
 5t.test(sites,mu=4.5)
 6        One Sample t-test
 7
 8data:  sites
 9t = -0.93574, df = 9, p-value = 0.3738
10alternative hypothesis: true mean is not equal to 4.5
1195 percent confidence interval:
12 4.230016 4.611984
13sample estimates:
14mean of x 
15    4.421 
16p=0.3738>0.05,认为所抽样水体的含氧量与多年平均值无显著差异
17
18—————————#独立样本T检验#——————————————
19#有两种情况,一种是两个总体方差齐性,另一种是两个总体方差不齐。
20#################两样本方差齐性
21#用高蛋白和低蛋白两种饲料饲养1月龄的大白鼠,饲养3个月后,测定两组大白鼠的增重量(g),两组数据分别如下所示:
22#高蛋白组:134,146,106,119,124,161,107,83,113,129,97,123
23#低蛋白组:70,118,101,85,107,132,94
24#试问两种饲料养殖的大白鼠增重量是否有显著差异?
25High<-c(134,146,106,119,124,161,107,83,113,129,97,123)
26Low<-c(70,118,101,85,107,132,94)
27Group<-c(rep(1,12),rep(0,7))#1表示High,0表示Low
28x<-c(High,Low)
29DATA<-data.frame(x,Group)
30DATA$Group<-as.factor(DATA$Group)
31#bartlett.test方差齐性检验
32bartlett.test(x~Group)
33        Bartlett test of homogeneity of variances
34
35data:  x by Group
36Bartlett's K-squared = 0.0066764, df = 1, p-value = 0.9349
37
38#var.test方差齐性检验
39var.test(x~Group)
40 F test to compare two variances
41
42data:  x by Group
43F = 0.94107, num df = 6, denom df = 11, p-value = 0.9917
44alternative hypothesis: true ratio of variances is not equal to 1
4595 percent confidence interval:
46 0.2425021 5.0909424
47sample estimates:
48ratio of variances 
49          0.941066 
50
51#leveneTest方差齐性检验(也是SPSS的默认方差齐性检验方法)
52library(car)
53leveneTest(DATA$x,DATA$Group)
54Levene's Test for Homogeneity of Variance (center = median)
55      Df F value Pr(>F)
56group  1  0.0088 0.9264
57      17              
58#前两者是对原始数据的方差进行检验的,leveneTest是对方差模型的残差进行组间齐性检验.一般认为是要求残差的方差齐,所以一般的统计软件都做的是leveneTest
59#结果说明两独立样本数据方差齐性,可以进行独立样本T检验。
60t.test(High,Low,paired=FALSE)
61        Welch Two Sample t-test
62
63data:  High and Low
64t = 1.9319, df = 13.016, p-value = 0.07543
65alternative hypothesis: true difference in means is not equal to 0
6695 percent confidence interval:
67 -2.263671 40.597005
68sample estimates:
69mean of x mean of y 
70 120.1667  101.0000 
71结果表明两种饲料养殖的大白鼠增重量无显著差异。
72
73#################两样本方差不齐
74#有人测定了甲乙两地区某种饲料的含铁量(mg/kg),结果如下:
75#甲地:5.9,3.8,6.5,18.3,18.2,16.1,7.6
76#乙地:7.5,0.5,1.1,3.2,6.5,4.1,4.7
77#试问这种饲料含铁量在两地间是否有显著差异?
78JIA<-c(5.9,3.8,6.5,18.3,18.2,16.1,7.6)
79YI<-c(7.5,0.5,1.1,3.2,6.5,4.1,4.7)
80Content<-c(JIA,YI)
81Group<-c(rep(1,7),rep(2,7))#1表示甲地,2表示乙地
82data<-data.frame(Content,Group)
83data$Group<-as.factor(Group)
84
85#bartlett.test方差齐性检验
86bartlett.test(Content~Group)
87 Bartlett test of homogeneity of variances
88
89data:  Content by Group
90Bartlett's K-squared = 3.9382, df = 1, p-value = 0.0472
91
92#var.test方差齐性检验
93var.test(Content~Group)
94 F test to compare two variances
95
96data:  Content by Group
97F = 5.9773, num df = 6, denom df = 6, p-value = 0.04695
98alternative hypothesis: true ratio of variances is not equal to 1
9995 percent confidence interval:
100  1.02707 34.78643
101sample estimates:
102ratio of variances 
103            5.9773 
104#结果说明两独立样本数据方差不齐,对齐进行方差不齐分析
105t.test(Content,Group,paired=FALSE,var.equal=FALSE)
106Welch Two Sample t-test
107
108data:  Content and Group
109t = 3.7511, df = 13.202, p-value = 0.002362
110alternative hypothesis: true difference in means is not equal to 0
11195 percent confidence interval:
112 2.519419 9.337724
113sample estimates:
114mean of x mean of y 
115 7.428571  1.500000 
116#方差齐性检验表明,方差不等,因此设定var.equal=FALSE,此时p=0.0023<0.05,
117#表明该饲料在两地的含铁量有显著差异。
118
119
120—————————#配对样本T检验#——————————————
121#某人研究冲水对草鱼产卵率的影响, 获得冲水前后草鱼产卵率(%),如下:
122#冲水前:82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4
123#冲水后:91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8
124#问:冲水前后草鱼亲鱼产卵率有无差异?
125Before<-c(82.5,85.2,87.6,89.9,89.4,90.1,87.8,87.0,88.5,92.4)
126After<-c(91.7,94.2,93.3,97.0,96.4,91.5,97.2,96.2,98.5,95.8)
127t.test(Before,After,paired=T)
128        Paired t-test
129
130data:  Before and After
131t = -7.8601, df = 9, p-value = 2.548e-05
132alternative hypothesis: true difference in means is not equal to 0
13395 percent confidence interval:
134 -9.1949 -5.0851
135sample estimates:
136mean of the differences 
137                  -7.14 
138结果表明,p=2.548e-05<0.01,表明冲水前后,草鱼亲鱼的产卵率有非常显著差异。
139
140------------------------备注---------------------------
1411)会有很多同学疑惑(Professionals don't laugh),为什么独立样本T检验有方差相等/不相等之分,而配对样本T检验/单样本T检验没有?
1422)t.test(x,y,alternative=c("two.sided","less","greater"),mu=0,paired=FALSE,
143var.equal=FALSE,conf.level=0.95......)
144如果只提供x,则作单个正态总体的均值检验,如果提供x,y则作两个总体的均值检验),alternative表示被则假设,
145two.sided(缺省),双边检验,less表示单边检验,greater表示单边检验,mu表示原假设μ0,若 paired=T,为配对检验,
146则必须指定x和y,并且它们必须是相同的长度。默认删除缺失值(如果配对为TRUE,则成对配对),var.equal是逻辑变量,
147var.equal=TRUE表示两样品方差相同,var.equal=FALSE(缺省)表示两样本方差不同,conf.level置信水平,即1-α,通常是0.95,。

参考

[1]顾志峰,叶乃好,石耀华.实用生物统计学[M].北京:科学出版社,2012年.

[2]t检验和方差分析的前提条件及应用误区_百度文库

https://wenku.baidu.com/view/c3f1e06b5727a5e9846a6117.html

往期精彩:


公众号后台回复关键字即可学习

回复 爬虫            爬虫三大案例实战
回复 Python       1小时破冰入门
回复 数据挖掘     R语言入门及数据挖掘
回复 人工智能     三个月入门人工智能
回复 数据分析师  数据分析师成长之路 
回复 机器学习     机器学习的商业应用
回复 数据科学     数据科学实战
回复 常用算法     常用数据挖掘算法

推荐 0
本文由 R语言中文社区 创作,采用 知识共享署名-相同方式共享 3.0 中国大陆许可协议 进行许可。
转载、引用前需联系作者,并署名作者且注明文章出处。
本站文章版权归原作者及原出处所有 。内容为作者个人观点, 并不代表本站赞同其观点和对其真实性负责。本站是一个个人学习交流的平台,并不用于任何商业目的,如果有任何问题,请及时联系我们,我们将根据著作权人的要求,立即更正或者删除有关内容。本站拥有对此声明的最终解释权。

0 个评论

要回复文章请先登录注册