解:因为是在相同个体上进行的两次检验,因此使用McNemar检验,
H0:对相同痰样本测定中,甲乙两种方法检出率没有差异。
在R语言中进行McNemar检验用到函数mcnemar.test( )
mcnemar.test(x, y = NULL, correct = TRUE) #其中x是具有二维列联表形式的矩阵或是由因子构成的对象。y是由因子构成的对象,当x是矩阵时,此值无效。correct是逻辑变量,TRUE(缺省值)表示在计算检验统计量时用连续修正,FALSE是不用修正。
R语言代码:
X<-c(49, 21, 25, 107); dim(X)<-c(2,2)
mcnemar.test(X,correct=FALSE)
P值> 0.05,不能认为两种检测方法有差异。
3.2.3.符号检验
例13.联合国人员在世界上66个大城市的生活花费指数(以纽约市1996年12月为100)按自小至大的次序排列如下(这里北京的指数为99):
66 75 78 80 81 81 82 83 83 83 83
84 85 85 86 86 86 86 87 87 88 88
88 88 88 89 89 89 89 90 90 91 91
91 91 92 93 93 96 96 96 97 99 100
101 102 103 103 104 104 104 105 106 109 109
110 110 110 111 113 115 116 117 118 155 192
假设这个样品是从世界许多大城市中随即抽样得到的。试用符号检验分析,北京是在中位数之上,还是在中位数之下。
解:样本的中位数(M)作为城市生活水平的中间值,因此需要检验:
H 0 : M ≥ 99, H 1 : M < 99.
输入数据,作二项检验。
R语言代码:
X <- c(66,75, 78 ,80 ,81 ,81 ,82, 83, 83, 83, 83,
84 , 85, 85, 86, 86, 86, 86, 87 ,87, 88, 88,
88, 88, 88, 89 ,89, 89, 89, 90 ,90 ,91 ,91,
91 ,91, 92, 93, 93, 96, 96, 96, 97, 99, 100,
101, 102, 103, 103 ,104, 104, 104 ,105, 106, 109, 109,
110 ,110, 110, 111, 113, 115, 116, 117 ,118, 155 ,192)
binom.test(sum(X>99), length(X), al="l")
在程序中,sum(x>99)表示样本中大于99的个数。al是alternative的缩写,"l"是"less"的缩写。计算出的P值小于0.05,拒绝原假设,也就是说,北京的生活水平高于世界的中位水平。
例14.用两种不同的饲料养猪,其增重情况如下表所示。试分析两种饲料养猪有无显著差异。
R语言代码:
x<-scan()
25 30 28 23 27 35 30 28 32 29 30 30 31 16
y<-scan()
19 32 21 19 25 31 31 26 30 25 28 31 25 25
binom.test(sum(x<y), length(x))