R语言:常用统计检验方法
写在前面
R已经成为当前国际学术界最流行的统计和绘图软件之一,该语言较为简单易学,统计分析功能强大,且具有很强的绘图功能,能够绘制学术出版要求的多种图表.R语言在生物信息学,进化生物学、生态学与环境、经济学、语言学等领域有着极为广泛的应用。
R软件是跨平台的,可以在Linux, MacOs,
Windows等多种系统上运行。针对每个研究方向,有大量的科研人员编写了相关的程序包,可以导入到基本的程序平台上运行。现有的程序包已经超过了1800个,并且还在增加中。
不仅如此,R是完全免费的,而且全部代码是公开的。
下载windows版的R软件,安装程序仅为30M。
学习并掌握R语言,对于需要用到统计学的研究人员和学生都是非常必要的。
这里选取了R语言中若干操作实例,所有的命令行均可以在R中运行,并得到结果。
正态总体均值的假设检验
t检验
单个总体
例一
某种元件的寿命X(小时),服从正态分布,N(mu,sigma^2),其中mu,sigma^2均未知,16只元件的寿命如下:问是否有理由认为元件的平均寿命大于255小时。
命令:
X
222, 362, 168, 250, 149, 260, 485, 170)
t.test(X, alternative = "greater", mu = 225)
两个总体
例二
X为旧炼钢炉出炉率,Y为新炼钢炉出炉率,问新的操作能否提高出炉率
命令:
X
Y
t.test(X, Y, var.equal=TRUE, alternative = "less")
成对数据t检验
例三
对每个高炉进行配对t检验
命令:
X
Y
t.test(X-Y, alternative = "less")
正态总体方差的假设检验
例四
从小学5年级男生中抽取20名,测量其身高(厘米)如下:
问,在0.05显著性水平下,
平均值是否等于149
sigma^2 是否等于 75
命令:
X
136 144 143 157 137 159 135 158 147 165
158 142 159 150 156 152 140 149 148 155
var.test(X,Y)
例五
对炼钢炉的数据进行分析
命令:
X
Y
var.test(X,Y)
二项分布的总体检验
例六
有一批蔬菜种子的平均发芽率为P=0.85,现在随机抽取500粒,用种衣剂进行浸种处理,结果有445粒发芽,问种衣剂有无效果。
命令:
binom.test(445,500,p=0.85)
例七
按照以往经验,新生儿染色体异常率一般为1%,某医院观察了当地400名新生儿,有一例染色体异常,问该地区新生儿染色体是否低于一般水平?
命令:
binom.test(1,400,p=0.01,alternative="less")
非参数检验
#数据是否正态分布的Neyman-Pearson 拟合优度检验-chisq
例八
5种品牌啤酒爱好者的人数如下
A 210
B 312
C 170
D 85
E 223
问不同品牌啤酒爱好者人数之间有没有差异?
命令:
X
chisq.test(X)
例九
检验学生成绩是否符合正态分布
命令:
X
25 45 50 54 55 61 64 68 72 75 75
78 79 81 83 84 84 84 85 86 86 86
87 89 89 89 90 91 91 92 100
A
p
p
chisq.test(A,p=p)
# cut 将变量区域划分为若干区间
# table 计算因子合并后的个数
# 均值之间有无显著区别
大麦的杂交后代芒性状的比例 无芒:长芒: 短芒=9:3:4,而实际观测值为335:125:160
,检验观测值是否符合理论假设?
命令:
chisq.test(c(335, 125, 160), p=c(9,3,4)/16)
例十
# 现有42个数据,分别表示某一时间段内电话总机借到呼叫的次数,
# 接到呼叫的次数 0 1 2 3 4 5 6
#
出现的频率 7 10 12 8 3 2 0
# 问:某个时间段内接到的呼叫次数是否符合Possion分布?
命令:
x
y
mean
q
n
p[1]
p[n]
for(i in 2:(n-1))
p
chisq.test(y, p=p)
Z
n
p[n]
chisq.test(Z, p=p)
内容来自
薛毅 陈立萍 《统计建模与R软件》 清华大学出版社 2006
理论分布依赖于若干未知参数时
Kolmogorov-Smirnov 检验
ks.test()
例一 对一台设备进行寿命检验,记录十次无故障操作时间,并按从小到大的次序排列如下,
用ks检验方法检验此设备无故障工作时间是否符合rambda=1/1500的指数分布
命令:
X
2300, 2350)
ks.test(X, "pexp", 1/1500)
例二 假设从分布函数F(x)和G(x)的总体中分别随机抽取25个和20个观察值样本,检验F(x)和G(x)是否相同。
命令
X
0.61 0.29 0.06 0.59 -1.73 -0.74 0.51 -0.56 0.39
1.64 0.05 -0.06 0.64 -0.82 0.37 1.77 1.09 -1.28
2.36 1.31 1.05 -0.32 -0.40 1.06 -2.47
Y
2.20 1.66 1.38 0.20 0.36 0.00 0.96 1.56 0.44
1.50 -0.30 0.66 2.31 3.29 -0.27 -0.37 0.38 0.70
0.52 -0.71
ks.test(X, Y)
ks多样本检验的局限性,只用在理论分布为一维连续分布,且分布完全已知的情形。ks检验可用的情况下,功效一般优于Pearson
chisq检验
列联表(contingerncy table)的独立性检验
Pearson chisquare 进行独立性检验
例三 为了研究吸烟是否与肺癌有关,对63位患者及43名非肺癌患者调查了其中的吸烟人数,得到2*2列联表
数据 肺癌 健康 合计
吸烟 60 32 92
不吸烟 3 11 14
合计 63 43 106
命令
x
dim(x)
chisq.test(x,correct = FALSE) # 不带连续校正的情况
chisq.test(x) # 带连续校正的情况
例四
在
一次社会调查中,以问卷方式调查了901人的年收入,及其对工作的满意程度,其中年收入A分为四档:小于6000元,6000-15000元,15000
元至25000元,超过25000元。对工作的满意程度B 分为 很不满意,较不满意,基本满意和很满意四档,结果如下
很不满意 较不满意 基本满意 很满意 合计
<
6000 20 24 80 82 206
6000
~15000 22 38 104 125 289
15000
~25000 13 28 81 113