R语言的流行病学应用 课件 第10章 病例对照研究_第1页
R语言的流行病学应用 课件 第10章 病例对照研究_第2页
R语言的流行病学应用 课件 第10章 病例对照研究_第3页
R语言的流行病学应用 课件 第10章 病例对照研究_第4页
R语言的流行病学应用 课件 第10章 病例对照研究_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第10章病例对照研究10.1概述10.2

常见的研究设计类型10.3示例实践10.4练习案例10.5小结10.1概述10.1.1概念病例对照研究(case-controlstudy)是以当前已经确诊患有某种特定疾病的一组病人作为病例组,以不患有该种特定疾病但具有可比性的一组个体作为对照组,回顾性地搜集研究对象既往各种可能的危险因素的暴露史,通过比较病例组与对照组各危险因素暴露比例的差异,判断暴露因素和疾病之间是否存在关联,以及关联的强度,从而达到探索和检验病因假说的目的。病例对照研究是一种由果(结局)溯因(暴露)的分析性流行病学研究方法,主要用于探索疾病病因、危险因素、健康相关事件的影响因素、检验病因假说等。病例对照研究的基本原理是按照研究对象的疾病状态进行分组(病例组和对照组),通过面访询问、实验室检查或复查病史等方法收集研究对象既往的暴露情况(演示)。10.1概述10.1.2特点病例对照研究是由因溯果的,根据研究结局将人群按照是否患病进行分组;病例对照研究可以分析多种暴露因素和一种疾病的关系;病例对照研究容易引入回忆偏倚和选择偏倚,但更节省人力、财力、物力,且适合罕见病、潜伏期长的疾病研究。10.1.3研究框架主要包括设计和实施两个阶段。设计阶段主要包括:定义源人群、明确病例纳入和排除标准、选择对照和样本量估计等;而实施阶段主要是根据前期研究设计,按照规定收集暴露因素和疾病的信息,进行资料整理、分析,最终得出结论。10.1概述在数据分析阶段,根据病例组某因素的暴露比值(odds病例)与对照组该因素暴露比值(odds对照)之比,计算得到比值比(oddsratio,OR),比较病例组和对照组所研究因素暴露比例的差异,分析暴露因素与疾病之间是否存在关联以及关联的强度(演示)。10.1概述10.2常见的研究设计类型病例对照研究包括多种设计类型。在实际工作中通常根据选择对照是否有某些限制将病例对照研究分为非匹配病例对照研究和匹配(matching)病例对照研究。随着流行病学研究的不断发展,在传统的病例对照研究基础上,发展和延伸出了多种病例对照研究类型,如巢式病例对照研究(nestedcase-controlstudy)、病例-队列研究(case-cohortstudy)和病例交叉研究(case-crossoverstudy)等。10.2常见的研究设计类型10.2.1非匹配病例对照研究非匹配病例对照研究对于对照组的选择一般无无任何限制和要求。对照组人数一般应等于或多于病例组人数(演示)。10.2.2匹配病例对照研究10.2.2.1常用的匹配方法与数据结构1.频数匹配频数匹配(frequencymatching),又称成组匹配(categorymatching),是指对照组与病例组在匹配因素的分布上一致或接近(演示)。对MatchIt程序包中提供的数据集lalonde(评估该就业培训计划对个体就业收入的影响)进行频数匹配,以展示频数匹配病例对照研究的数据形式(演示)。10.2常见的研究设计类型2.个体匹配个体匹配(individualmatching)是指以个体为单位,根据某些变量或特征,将病例与1个或N个对照进行匹配,使病例和对照在某些变量或特征方面相同或者接近。在个体匹配中可通过精确匹配(exactmatching)为病例选择对照(演示)。匹配病例对照研究可以使匹配因素在病例组和对照组之间尽量保持均衡,消除或减少匹配因素对研究结果的干扰。在匹配病例对照研究中,对照的选择非常重要,不仅关乎数据分析方法的选择,还关系到研究效能的大小。通过匹配可提高研究效率,但会导致研究者无法估计匹配变量对研究结果的可能影响,也会增加选择对照的难度。因此,选择合适的匹配方法十分重要。10.2常见的研究设计类型10.2.2.2匹配的常见问题在病例对照研究中将病例和对照根据不必要的因素进行匹配,企图使该因素在病例组和对照组间尽量保持一致时,可能会丢失匹配因素的信息,增加工作难度,结果反而降低研究效率,这种情况称为过度匹配(overmatching)。在一般情况下,性别、年龄之外的因素在匹配时应谨慎,以防止过度匹配,徒增研究费用和工作难度。10.2常见的研究设计类型10.2.3常见的衍生设计类型10.2.3.1巢式病例对照研究1.原理巢式病例对照研究是基于队列研究的病例对照研究。在队列随访过程中,把出现某种结局的病例作为病例组,并根据病例发病时间,在该队列尚未出现某种结局的个体中随机匹配一个或多个对照,组成对照组。对纳入病例组和对照组的研究对象相关资料及生物标本进行收集与检测,最后按病例对照研究(主要是匹配病例对照研究)的分析方法进行统计分析和推论,以探讨暴露因素与疾病之间的关联。2.适用情景巢式病例对照研究适用于队列人群较大、研究结局发生率较低、资料获取或生物标本检测较为复杂或者昂贵的研究情景。10.2常见的研究设计类型10.2.3.2病例-队列研究

1.原理病例-队列研究是病例对照研究和队列研究相结合的另一种形式。其病例组与对照组均源自一个队列。在研究开始时,根据研究目的确定合适的人群作为病例-队列研究的全队列,在全队列中按一定比例随机抽样,选出一个有代表性的样本(子队列)作为对照组;基线时的每个队列成员都有同等的机会被抽作为对照,而无须考虑每个个体贡献给该队列的人数。对全队列进行随访,在随访观察结束时,以全队列中出现的所研究疾病的全部病例作为病例组,与上述对照组进行比较,以判断暴露因素与疾病之间的关联。若子队列中的研究对象在后续随访过程中出现某种结局,该部分研究对象将会被同时视为病例组和对照组,用于后续数据分析。2.适用情景该研究的适用范围与巢式病例对照研究相似,尤其适合利用一个队列实施对一系列健康结局的研究(演示)。10.2常见的研究设计类型10.2.3.2病例交叉研究1.原理病例交叉研究是以发生待研究结局(某疾病或事件)的个体作为研究对象,比较同一研究对象在结局发生时(或前)某特定时间段内(危险期)的暴露情况与未发生该结局的某段时间(对照期)的暴露情况,从而估计暴露因素与结局的关联。对照期的选择是该研究设计的关键环节,目前的常用方法包括单向病例交叉研究和双向病例交叉研究。2.适用情景病例交叉设计主要应用于短暂暴露导致突发事件(如心肌梗死、脑出血等)的风险发生短暂变化时的情形(演示)。10.2常见的研究设计类型10.3示例实践10.3.1非匹配病例对照研究本节通过体力活动与慢性肾病关联研究示例介绍病例对照研究的分析方法和R语言实现。该研究纳入10000名研究对象,其中慢性肾病病例组1000名,对照组9000名。数据集共有16个变量,包括编号、性别(男性/女性)、民族(汉族/其他)、年龄(65~69/70~74/75~79/80岁及以上)、身体质量指数(低体重/正常/超重/肥胖)、教育状况(高中及以下/高中以上/未知)、吸烟状况(从不/现在/以前)、饮酒状况(从不/不嗜酒/嗜酒)、体力活动(从不/每周<1次/每周≥1次/每天)、工作状况(是/否)、药物A(是/否)、药物B(是/否)、高血压(是/否)、糖尿病(是/否)、高脂血症(是/否)、慢性肾病(是/否)等。10.3示例实践加载需要用到的R语言程序包。该数据集中除了编号为数值型变量,其余均为分类变量。对于分类变量,首先要设置对照组。结合前述summary()得到的信息,这里选择将每个分类变量中人数最多的一组作为对照组,可以通过在factor()中设置levels来实现。需要注意的是,在设置levels时,应将对照组写在最前面,即“levels=c("对照组","其他组")”(演示)。除了使用summary(),还可以通过tableone程序包中的CreateTableOne()直接输出描述性分析表”(演示)。10.3示例实践若要进一步探讨体力活动与慢性肾病之间的关联,则设置自变量为“体力活动”,因变量为“慢性肾病”;其他变量为拟纳入分析的混杂因素。由于因变量“慢性肾病”是一个二分类变量(是/否),因此当探讨一系列连续型变量和/或分类变量和一个二分类变量之间的关联时,logistic回归模型是一个非常有用的统计方法。在R语言中可通过glm()实现。该函数的基本形式为:glm(formula,family=family(link=function),data)在logistic回归模型中,概率分布(family)设置为“binomial”,相应的连接函数(function)设置为“logit”。因此logistic回归模型的代码基本形式为:glm(formula,family=binomial(link="logit"),data)(演示)10.3示例实践从Coefficients最后一栏Pr(>|z|)可以看出,民族、吸烟状况、工作状况、药物A等变量对模型的贡献不显著(p>0.05)。可以进一步采用逐步回归法来筛选变量,对模型fit1进行优化。该步骤可以通过stats程序包中的step()或MASS程序包中的stepAIC()实现(演示)。经过筛选,模型fit2剔除了民族、工作状况和药物A。上述分析尝试了两个模型fit1和fit2,下一步需要比较两个模型的拟合效果。对于两个嵌套模型(fit2中的自变量是fit1中自变量的一个子集),可以用似然比检验(likelihoodratiotest,LRT)进行比较,通过R语言自带的stats程序包中的anova()实现,test选择卡方检验(演示)。10.3示例实践可以看出,模型比较结果的卡方值不显著(p=0.4542),表明删减变量后的模型fit2和纳入所有变量的模型fit1拟合效果无显著差异。因此可以根据更简单、变量更少的模型fit2对结果进行解释。此外,还可通过赤池信息量准则(akaikeinformationcriterion,AIC)来比较模型的拟合效果,通过stats程序包中的AIC()实现(演示)。可以看出,模型fit2的AIC值较小。一般来说,在其他条件不变的情况下,AIC值越小的模型,其拟合效果越好。因此,在该案例中更倾向于用模型fit2对结果进行解释。与glm()连用的函数中可用coefficients()或coef()列出拟合模型中各变量的回归系数。10.3示例实践根据上述logistic回归模型结果,将回归系数取指数来得到OR,可通过exp()实现(演示)。此外,使用confint()可以获取回归系数的置信区间(confidenceinterval,CI),默认为95%,并使用exp()取指数(演示)。10.3.2频数匹配病例对照研究既往相关文献提示,性别和年龄是体力活动与慢性肾病关联的常见混杂因素。从前述表10.5可知,在慢性肾病患者和非慢性肾病患者中,性别和年龄的分布存在显著差别(p<0.05),病例组和对照组中协变量的不均衡分布可能影响关联的估计,因此这些变量被纳入作为匹配变量。下面按性别和年龄进行1∶2频数匹配。10.3示例实践在R语言中,KODAMA程序包中的frequency_matching()可用于实现频数匹配,其用法为:frequency_matching(data,label,times,seed)(演示)频数匹配后,查看病例组和对照组中匹配变量的分布是否存在差别(演示)。频数匹配后,1000名慢性肾病患者构成病例组,2000名非慢性肾病者构成对照组,性别、年龄在病例组和对照组间的分布没有显著差别(p>0.05)。下面采用匹配后的数据拟合模型,以探究体力活动对慢性肾病的影响(演示)。10.3示例实践10.3.3个体匹配病例对照研究在匹配的病例对照研究中,除了前述的频数匹配,个体匹配是另一种常见的配对方法。与频数匹配不同,个体匹配是以病例组和对照组中每个研究个体为单位进行匹配的。根据每个个体匹配的对照个数(1~r)不同,可分为1∶1、1∶2、1∶3、…、1∶r匹配。个体匹配可以实现匹配后研究对象的不同个体特征相近或相似,与非匹配和频数匹配相比,可以实现精确控制病例组和对照组间匹配因素对结果的干扰,使对照组在这些因素或特征上与病例组更均衡、可比。10.3.3.1传统的匹配方法在匹配的病例对照研究中,除了前述的频数匹配,个体匹配是另一种常见的配对方法。与频数匹配不同,个体匹配是以病例组和对照组中每个研究个体为单位进行匹配的(演示)。检验个体匹配后的病例组和对照组间变量的分布是否存在统计学差异(演示)。10.3示例实践经个体1∶2匹配后,病例组和对照组中各变量间的分布相近,差异不具有统计学意义。通过采用survival程序包中的clogit()实现,该函数的基本形式为:clogit(formula,data,weights,subset,na.action,method=c("exact","approximate","efron","breslow"),...)在以上函数模型中必须设置的要素包括formula和data,weights、subset、na.action和method为非必须设置的要素。其中,formula为构建的模型,需要在strata中设置对应的“编号”;data为分析数据集;weights表示权重;subset表示子集,可用于指定子集数据;若na.action=TURE,则不包括data中含有空值的观测,若na.action=FLASE,则不剔除data中含有空值的观测;method可设置在条件似然中使用精确的计算方法(exact)或其中一个近似值(approximate)(演示)。10.3示例实践10.3.3.2倾向性评分匹配法传统的匹配方法为精准匹配病例组和对照组间分布不均衡的因素或特征,操作简单易行。当需要匹配的变量过多或要求的配对比例(1∶r)过高时,传统精准的匹配会导致病例无法匹配到足够的对照。倾向性评分匹配(propensityscorematching,PSM)。PSM是指在一定协变量条件下,一个观察对象接受某种暴露/处理因素的可能性,它是一个0到1范围内连续分布的概率值。其基本原理是用一个分值,即倾向评分值的(PS值)来代替多个协变量,根据计算得出的PS分值,并采用匹配的方法来均衡各组间协变量的差异,最终估计处理效应。即通过将与PS相同或相近的研究对象在不同的组间进行匹配,使组间各特征变量的分布趋于均衡,对观察性研究中的混杂因素进行类似随机化的均衡处理,从而削弱或抵消组间混杂因素的不均衡性对研究结果的干扰。10.3示例实践PSM中的方法包括最邻近匹配(nearestneighbormatching)、卡钳匹配(calipermatching)和全局最优匹配等,其中最为常用的方法是最邻近匹配和卡钳匹配。最邻近匹配首先利用logistic回归模型计算PS值,并根据分组变量将病例组与对照组区分开,然后对病例组个体随机排序,从中选出第一个个体,并与对照组中全部个体的PS值进行比较,找出对照组中PS值相同或相近的个体进行配对,若对照组中有两个或两个以上与病例组个体的PS值相同,则随机选取。配对成功的个体从数据中剔除,对下一个个体重复如上步骤,直到病例组中每个个体都完成匹配。卡钳匹配则是在最邻近匹配集的基础上,计算两个个体间倾向性评分差值,并设定倾向性评分差值在某一范围(称为卡钳值,caliper)内。根据倾向性评分差值,首先删除两组PS值之差在卡钳值范围外的配对个体,得到不同精度的匹配集,然后计算协变量之间的均衡性及样本不平衡性,并将结果进行汇总。10.3示例实践在R语言中,PSM可采用MatchIt包中matchit()实现,具体形式为(演示):matchit(formula,data,method,distance,caliper,ratio,...)

其中,formula为构建的模型,以结局变量为因变量,匹配的变量作为自变量;data为分析数据集;method可用于指定PSM的方法(如最邻近匹配、卡钳匹配和全局最优匹配等);distance可用于设置要使用的距离测量参数;caliper可用于设置卡钳值;ratio可用于设置PSM配对比。为了充分考虑混杂因素对关联估计的影响,本部分采用PSM进行个体模糊匹配,尽可能纳入更多的协变量(包括性别、年龄、民族、身体质量指数、教育状况和工作状况)(演示)。PSM后病例组和对照组间变量分布情况(演示)。拟合模型进行统计分析(演示)。当拟探讨的变量为连续型数值时,除了采用上述分析方法估计关联,也可以使用base程序包中cut()根据一定的标准将连续型变量转换为多分类变量,以开展分类分析;还可采用stats程序包中spline(),并结合predict()或termplot()绘制暴露-反应关系曲线。10.3示例实践10.4练习案例以下模拟数据集有3500名研究对象,其中病例组1500名,对照组2000名。该数据集共有12个变量,包括研究对象的编号、年龄、性别、药物使用、高血压、糖尿病、高脂血病、吸烟状况、民族(汉族/其他)、教育状况(高中及以上/高中以下/未知)、工作状况、心血管疾病等。数据结构如表10.11所示。请以该数据集为例,结合本章内容,从非匹配病例对照研究、频数匹配病例对照研究和个体匹配病例对照研究3种不同的研究设计角度出发,探讨高脂血症与心血管疾病之间的关联性。10.4练习案例10.5小结本章介绍了病例对照研究的基本原理、研究类型和数据分析方法。病例对照研究通过比较病例组与对照组中危险因素暴露比例的差异,探究暴露和疾病之间的关联。R语言是进行数据分析的高效工具,可开展数据描述、匹配、模型拟合、模型优化、结果读取和结果输出等多项操作。使用summary()和CreateTableOne()等可实现数据的描述性分析。病例对照的匹配实现方法多种多样,可通过自编写函数或使用已有程序包中的函数帮助实现,如使用frequency_matching()进行频数匹配、使用matchit()进行倾向性评分匹配。对于模型拟合,非匹配病例对照研究和频数匹配病例对照研究可使用glm()实现,个体病例对照研究可使用

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论