R语言绘制限制性立方样条(Restricted cubic spline,RCS)

Python040

R语言绘制限制性立方样条(Restricted cubic spline,RCS),第1张

在医学研究中,我们经常构建回归模型来分析自变量和因变量之间的关系。事实上,大多数的回归模型有一个重要的假设就是自变量和因变量呈线性关联,这个条件实际很难满足。常见的解决方法是将连续变量分类,但类别数目和节点位置的选择往往带有主观性,并且分类往往会损失信息。因此,一个更好的解决方法是拟合自变量与因变量之间的非线性关系,限制性立方(Restricted cubic spline,RCS)就是分析非线性关系的最常见的方法之一。

近年来在Lancet、BMJ等杂志经常见到利用限制性立方样条来拟合非线性关系。

什么是立方样条?

回归样条(regression spline)本质上是一个分段多项式, 但它一般要求每个分段点上连续并且二阶可导,这样可以保证曲线的平滑性。而限制性立方样条是在回归样条的基础上附加要求:样条函数在自变量数据范围两端的两个区间内为线性函数。

在利用限制性立方样条绘制曲线关系时,通常需要设置样条函数节点的个数(k)和位置(ti)。绝大多数情况下, 节点的位置对限制性立方样条的拟合影响不大, 而节点的个数则决定曲线的形状, 或者说平滑程度。当节点的个数为2时, 得到的拟合曲线就是一条直线,大多数研究者推荐的节点为3-5个。

在《Regression Modeling Strategies》这本书中,Harrell建议节点数为4时,模型的拟合较好,同时可以兼顾曲线的平滑程度和避免过拟合造成的精度降低。而当样本量较大时,例如因变量为未删失的连续变量并且大于100时,5个节点是更好的选择。小样本(如n<30)可以选择3个节点。以下是Harrell推荐的节点数和相应的节点位置,大家可以参考。

案例说明(模拟数据)

目前SAS、STATA、R等软件都可以进行限制性立方样条分析。基于画图的方便,我们以R语言为例进行说明。首先参照rms包,生成一个模拟数据集,包括性别(sex),年龄(age)以及生存时间(time)和结局变量(death)。

若想分析年龄和生存率之间关系,传统的方法可以在Cox回归中将年龄作为连续变量处理,也可以对年龄进行分组,这样的做法都无法更直观的呈现年龄与死亡风险之间的关联。以下我们用限制性立方样条来分析年龄与死亡风险之间的关系:

可以看到age整体是有意义的(包括线性或者非线性关联),然后看P-Nonlinear =0.0168<0.05,这里我们可以说年龄与死亡风险之间存在非线性关联。

如果自变量与关注的结局变量存在非线性关系,如何在文章中对结果更详细的描述呢,建议大家可以参照上文中提到的Lancet的文章。

孟德尔随机化(Mendelian randomization,MR)是以孟德尔独立分配定律为基础进行流行病学研究设计和数据分析,论证病因假说的一种方法。由基因型决定中间表型(暴露)的差异, 因果方向明确。

通过引入一个称之为工具变量的中间变量,来分析暴露因素和结局之间的因果关系

2.孟德尔随机化 vs RCT

孟德尔随机化的目的不是估计遗传效应的大小,而是估计暴露对结果的因果效应,所以与遗传变异相关的结局的平均变化幅度可能与干预措施导致的变化幅度不同

即使遗传变异与结果之间的关联程度很小,暴露的人群归因风险也不一定很低,因为暴露可能会比遗传变异解释更大的变化程度(例如,他汀类药物对低密度脂蛋白胆固醇水平的影响比低密度脂蛋白胆固醇水平与HMGCR基因变异的关联要大几倍,因此对后续结果的影响更大。)

孟德尔随机化要求大样本研究,变异发生率不能太小(最小等位基因频率MAF>5%)

3.工具变量

工具变量本身是一个计量经济学的概念,在孟德尔随机中,遗传变异被用作工具变量评估暴露对结局的因果效应,遗传变异满足工具变量的基本条件总结为(孟德尔随机化核心假设):

关联性假设——遗传变异与暴露有关

独立性假设——该遗传变异与暴露-结果关联的任何混杂因素均不相关

排他性假设——该遗传变异不会影响结果,除非可能通过与暴露的关联来实现

某研究组想了解非洲村落里的儿童补充维生素A和其死亡情况的关联,如果仅仅利用维生素A的服用情况和死亡情况去判断两者的关联,那极有可能会产生很大的偏倚,这是因为维生素A的服用情况和很多潜在因素相关,比如家庭的经济困难程度、家庭成员以及实验儿童的依从性,而这些潜在的因素也可能对儿童的身体健康有很大的影响。因此,在研究起始设计中,研究者便利用工具变量来解决这个问题。

在这里,工具变量Z是指服用维生素A这个任务,类似于随机抽签。这样的话工具变量Z便只和X服用维生素A这个行为相关,与除X以外的混杂因素不相关。

4.应用范围

行为因素与健康:基因变异引起各个倾向某行为,决定暴露状态。如ALDH2变异引起乙醛代谢障碍,改变饮酒行为,不同ALDH基因型代表饮酒量多少;

机体代谢产物与疾病关系,估计长期效应。代谢产物是基因表达的中间表型,酶的底物或者体外难测量的代谢指标:如LDL受体基因变异引起家族高胆固醇血症,比较不同基因型之间CHD发病情况的差异,可模拟血胆固醇水平和CHD发病关系;

子宫内环境暴露于子代健康关系。

5.发文分析

孟德尔随机化研究均发表在影响因子5分以上的期刊中

6.基础分析流程——TwoSampleMR

找工具变量,我们要的是基因作为工具变量,这些基因都是从别人的研究中挑出来的,所有的基因研究有个专门的库叫做genome wide association studies (GWAS)。我们需要做的就是从这个库中挑出来我们自己需要的和我们暴露相关的基因变量SNPs。

估计工具变量对结局的作用,工具变量对结局的作用也是从所有的研究中估计出来的整体效应,这样可以拒绝单个研究的偏倚。

合并多个SNP的效应量,这个效应量是我们得到暴露和结局因果效应的前提。

处理数据,用合并后的数据进行孟德尔随机化分析和相应的敏感性分析。

7.TwoSampleMR代码实现

安装相关R包

install.packages('devtools')

library('devtools')

install_github("MRCIEU/TwoSampleMR") #安装TwoSampleMR包

library('TwoSampleMR')

devtools::install_github("mrcieu/ieugwasr",force = TRUE)

获取MR base的表型ID,将结果保存为pheno_info.csv这个文件

ao <-available_outcomes(access_token=NULL) #获取GWAS数据,但近期Google限制,容易被墙

write.csv(ao,'pheno_info.csv',row.names=F)#将数据写入本地存储

查看pheno_info.csv文件,获取与暴露相关的工具变量的信息以及结局信息。这里选择暴露为obesity class 2 (ID = 91), 结局为 type 2 diabetes (ID = 1090)

exp_dat <- extract_instruments(outcomes=91,access_token=NULL)

obesity_exp_dat <- clump_data(exp_dat)

t2d_out_dat <- extract_outcome_data(snps=obesity_exp_dat$SNP, outcomes=1090, access_token=NULL)#提取结果信息

dat <- harmonise_data(exposure_dat =obesity_exp_dat, outcome_dat= t2d_out_dat)#数据合并,计算基因对结局的合并效应量

孟德尔随机化

results <- mr(dat)

OR值

OR <- generate_odds_ratios(results)

异质性检验

heterogeneity<- mr_heterogeneity(dat)

多效性检验

pleiotropy<- mr_pleiotropy_test(dat)

逐个剔除检验

leaveoneout<- mr_leaveoneout(dat)

散点图

mr_scatter_plot(results,dat)

森林图

results_single<- mr_singlesnp(dat)

mr_forest_plot(results_single)

漏斗图

mr_funnel_plot(results_single)

实例解析

2022年10月10日

西安交通大学生物医学信息与基因组学中心杨铁林教授团队在Nature Neuroscience (IF=28.771)期刊发表了题为:Mendelian randomization analyses support causal relationships between brain imaging-derived phenotypes and risk of psychiatric disorders 的文章。

研究背景

精神类疾病是一组脑功能紊乱的复杂疾病,会导致情感、认知和行为受到干扰和破坏。全球约有数亿人患有不同的精神障碍,被列为严重的公共卫生问题。近年来,脑影像学数据在脑疾病和功能的研究中受到广泛关注。以核磁共振成像为代表的脑影像技术,可用于活体无创定量评估人脑结构、连接和功能的特性。

虽然已有大量的观察性研究证据表明,精神疾病患者与健康正常人的脑影像表型存在显著差异,但脑影像学数据与精神障碍发病机制的因果关系尚不明确,探讨脑影像表型对精神疾病的因果作用具有重要的生物学和临床研究意义。

研究方法和结果

该研究基于大规模基因组数据,对常见的10种精神类疾病(包括注意力缺陷多动症、神经性厌食症、焦虑症、孤独症、双相情感障碍、抑郁症、强迫症、创伤后应激障碍、精神分裂症、抽动症)和587个关键的脑磁共振成像(MRI)结构表型进行了因果关系评估。

正向孟德尔随机化结果发现,脑白质纤维束的上额枕束的FA值和上放射冠的ICVF值、胼胝体内矢状层的MD值、第三脑室的体积等9个脑影像表型是精神分裂症、神经性厌食症和双相情感障碍的风险因素。进一步通过反向孟德尔随机化分析显示,发现精神分裂症的发生会导致额下回眶部的表面积和体积的增加。

该研究将基因组信息作为纽带,使脑影像表型和精神疾病联系起来,避免了观察性研究中由于药物或环境、生活方式等改变引起的样本检测数据偏差的缺点,确保了研究结果的稳健性。