查看原文
其他

第二十二讲 两比例Z检验

跟我学 投必得医学 2022-05-07

在“R与生物统计专题”中,我们会从介绍R的基本知识展开到生物统计原理及其在R中的实现。以从浅入深,层层递进的形式在投必得医学公众号更新。


上一讲中,我们介绍了单比例的Z检验,今天,我们继续介绍针对两组独立样本的比例数据(%)进行统计学差异检验——两比例Z检验。


两比例Z检验

两比例Z检验用于比较两组独立(非配对)数据中比例值的差异。

例如,我们有两组人:

  • A组,患有肺癌:n = 500

  • B组,健康个体:n = 500

每组的吸烟人数如下:

  • A组,患有肺癌:n = 500,490名吸烟者, pA= 490 / 500 = 98%

  • B组,健康个体:n = 500,吸烟者400, pB= 400 / 500 = 80%

整理为表格如下:

在这种情况下:

  • 吸烟者的总体比例为 p =(490 + 400 )/(500 + 500) = 89%。

  • 非吸烟者的总体比例为 q = 1 - p = 11%

研究问题,两组吸烟者的比例是否相同?


1. 研究问题和统计假设


典型的研究问题是:

  1. A组中观察到的吸烟者比例(pA)等于在B组中观察到的吸烟者比例(pB)?

  2. A组中观察到的吸烟者比例(pA)低于在B组中观察到的吸烟者比例(pB)?

  3. A组中观察到的吸烟者比例(pA)大于组B组 中观察到的吸烟者比例(pB)?

在统计数据中,我们可以定义相应的原假设(H0) 如下:

  1. H0:pA = pB

  2. H0:pA ≤ pB

  3. H0:pA ≥ pB

相应的备择假设(H1)如下:

  1. H1:pA ≠ pB(不同)

  2. H1:pA > pB(大于)

  3. H1:pA < pB(小于)

注意


  • 假设1)称为两向检验

  • 假设2)和3)称为单向检验


2. 统计学公式


2.1 大样本情况

检验统计量(也称为z-test)计算如下:

其中,

  • pA 是在A组中观察到的比例值,其中样本数为nA

  • pB是在B组中观察到的比例值,其中样本数为nB

  • p和 q 是总比例值(无论A、B组)

  • 如果 | z | < 1.96,则实际比例与预期比例差异不明显(alpha = 0.05)。

  • 如果 | z | ≥ 1.96,则实际比例与预期比例差异明显(alpha = 0.05)。

  • 可以在z界值表中读取与z 统计量对应的显着性水平(p值)。

请注意

z统计量的公式仅在样本数量(n)足够大时适用。即nA*p,nA*q,nB*p和nB*q都要≥ 5。


2.2 小样本的情况(n < 30)

当两个独立样本的样本量小时,Fisher精确概率检验是用于比较比例的非参数方法。


3. 两比例z检验的R实现


3.1 R函数:prop.test()

R函数prop.test()可以如下使用:

prop.test(x, n, p = NULL, alternative = "two.sided",correct = TRUE)
  • x:事件发生计数的向量(每个组有一个对应数值)

  • n:总计数的向量(每个组有一个对应数值)

  • Alternative:指定被责假设的为双向检验(two.sided)或单向检验(one.sided)

  • correct:表示是否在可能的情况下应用Yates’连续性校正


请注意

默认情况下,函数prop.test()使用Yates连续性校正。


如果预期事件发生次数或不发生次数小于5,则这个选项会发动技能,进行矫正。


如果您不希望进行校正,请使用correct= FALSE 。correct的默认值是TURE。(如果要使结果与数学手工计算的未矫正的z检验结果一模一样,必须将此选项设置为FALSE 。)


3.2 两比例z检验的R实现


研究问题,两组吸烟者的比例是否相同?

res <- prop.test(x = c(490, 400), n = c(500, 500))res

输出结果

2-sample test for equality of proportions with continuity correctiondata: c(490, 400) out of c(500, 500)X-squared = 80.909, df = 1, p-value < 2.2e-16alternative hypothesis: two.sided95 percent confidence interval:0.1408536 0.2191464sample estimates:prop 1 prop 20.98 0.80

该函数返回:

  • 皮尔逊卡方检验统计量的值:80.909

  • p值:< 2.2e-16

  • 比例差异的95%置信区间:0.141-0.219

  • 实际情况下事件的比例(两组中吸烟者的比例):1组中为0.98;2组中为0.80


注意

  • 如果您想测试观察到的A组吸烟者比例(pA)低于在B组中观察到的吸烟者比例(pB),输入以下内容:

prop.test(x = c(490, 400), n = c(500, 500),alternative = "less")
  • 或者,如果您想测试在A组中观察到的吸烟者比例(pA)大于B中观察到的吸烟者比例(pB),输入以下内容:

prop.test(x = c(490, 400), n = c(500, 500),alternative = "greater")


3.3 结果解释

测试的p值小于2.2e-16,小于显着性水平alpha = 0.05。我们可以得出结论,两组的吸烟者比例显着不同。

注意

对于2×2表,在标准卡方检验chisq.test()是完全等同于prop.test()。


3.4 访问prop.test()函数的返回值

prop.test()函数的结果是一个包含以下组件的列表:

  • statistic:事件发生次数

  • parameter:总测试次数

  • p.value:检验的p值

  • conf.int:事件发生比例的差异的置信区间。

  • estimate:实际事件的发生比例。

于获取这些值的R代码的格式如下:

res$p.value

[1] 2.363439e-19

res$estimate

prop 1 prop 2

0.98   0.80

res$conf.int

[1] 0.1408536 0.2191464

attr(,"conf.level")

[1] 0.95


4. Fisher精确概率检验

当nA*p,nA*q,nB*p和nB*q中存在数值小于5时,需要使用Fisher精确概率检验。例如如下数据:

整理为表格如下:

在R中的实现代码如下:

fisher.test(matrix(c(10,1,6,12),nrow=2), alternative = “two.saided”)

输出结果

Fisher's Exact Test for Count Datadata: matrix(c(10, 1, 6, 12), nrow = 2)p-value = 0.00575alternative hypothesis: true odds ratio is not equal to 195 percent confidence interval:1.820063 932.303503sample estimates:odds ratio17.83676

该函数返回:

  • Fisher精确检验p值:0.00575

  • 比值比的95%置信区间:1.82 – 932.3

  • 事件的比值比:17.8

好了,本期讲解就先到这里。小伙伴们赶紧试起来吧。

在之后的更新中,我们会进一步为您介绍R的入门,以及常用生物统计方法和R实现。欢迎关注,投必得医学手把手带您走入R和生物统计的世界。
提前打个预告,下一期我们继续介绍比例数据的统计学方法——卡方拟合度检验

第一讲 R-基本介绍及安装

第二讲 R-编程基础-运算、数据类型和向量等基本介绍

第三讲 R编程基础-矩阵和数据框

第四讲 R-描述性统计分析

第五讲 R-数据描述性统计分析作图

第六讲 R-数据正态分布检验

第七讲 R-相关性分析及作图

第八讲 R-单样本T检验

第九讲 R-单样本Wilcoxon检验

第十讲 R-两独立样本t检验

第十一讲 R-两独立样本Wilcoxon检验

第十二讲 R-配对样本t检验

第十三讲 R-配对样本Wilcoxon检验

第十四讲 R-单因素方差分析1

第十五讲 R-单因素方差分析2

第十六讲 R-双向方差分析1

第十七讲 R-双向方差分析2

第十八讲 R-多元方差分析

第十九讲 F检验:两样本方差比较

第二十讲 多样本间的方差比较

第二十一讲 单比例的Z检验



当然啦,R语言的掌握是在长期训练中慢慢积累的。一个人学习太累,不妨加入“R与统计交流群”,和数百位硕博一起学习。


快扫二维码撩客服,

带你进入投必得医学交流群,

让我们共同进步!

↓↓


- END -


长按二维码关注「投必得医学」,更多科研干货在等你!

您可能也对以下帖子感兴趣

文章有问题?点此查看未经处理的缓存