R语言meta分析(2)单个率的Meta分析

作者: 柳叶刀与小鼠标 | 来源:发表于2019-02-23 03:56 被阅读127次

    R语言meta分析⑴meta包

    介绍

    在科学研究中,设立对照是一项基本原则,如病例对照研究的病例组和对照组、队列研究中的 暴露组和非暴露组,临床随机对照试验的试验组 和对照组。

    对这些研究进行Meta分析时合并的指 标是两组的相对效应如OR值、RR值或是绝对效 应如危险度差值(risk difference,RD),然而在并 未设立对照组如流行病学中的现况研究.如要了 解某种病毒在全国的一个总体感染率而又没有足 够的时间或经费做全国性的调查时.我们可以通 过对现有文献报道的感染率进行Meta分析了解 该病毒在全国的感染情况。

    单个率可包括流行病学现况研究中的患病率、感染率,临床试验的有效率,药物试验中的不 良反应发生率等,只要收集到各个原始研究的样 本量和事件发生数,在R软件就可以用metaprop 函数对单个率进行定量的Meta分析.来计算合并 的率及95%可信区间。通过观察图形是否对称初步判断有无发表 偏倚,结合metabias可以绘制出Begg和Egger图, 对发表偏倚进行统计学检验。 考虑到不同类型的单个率的资料的分布可 能会有不同的情况,R软件给出了五种估计率的 方法。如原始率不服从正态分布,可经过转换使 其服从或接近正态分布,从而提高合并结果的可靠性。

    单组率的meta分析

    定义:只提供一组人群的总人数和时间发生人数,多为患病率,检出率,知晓率,病死率,感染率。一般基于的研究为横断面研究。

    缺点:异质性很难控制

    方法:
    ①加权计算:即根据每个独立研究的样本量大小,给予不同的权重,对各独立样本的效应量率进行合并;
    ②直接等权相加: 即把各独立的结果事件直接等权相加,然后直接计算合并率,再用近似正态法计算其可信区间 ;
    ③调整后再等权相加: 即对各个独立研究资料的率进行调整后再行等权相加,计算出合并率的大小。

    Metaanalysis软件是一款免费的软件且可以进行单个率的Meta分析.但是其为菜单操作,无法实现对原始率的转换。R软件是一种共享的免费统计软件,有专门的Meta分析程序包,可以进行单个率的Meta分析,而且提供了五种方法估算率,研究者可以根据原始率的分布选择合适的方法。本文结合编程和Meta分析程序包,以实例说明R软件在单个率Meta分析中的应用,以期为今后的Meta分析提供方法学指导。

    具体操作

    1.加载meta数据包

    library(meta)

    2.具体分析操作

    • 数据的读取
    > library(meta)
    > setwd('/home/ub/Rwork')
    > meta_data <- read.csv('metadata.csv',header = T)
    > head(meta_data)
        Author Year Case Number
    1  Chen_et 2005    8     40
    2 Beyer_et 2001   12     32
    3   Ber_et 2003   10     50
    4   Loe_et 2010  103    374
    5  Alis_et 2011   20     69
    6  Choi_et 2015   29    104
    

    这是生成的一份记录疾病患病率的Meta分析。其中变量 Author Year Case Number分别表示文献的第一作者,发表年份,患者和调查的总人数和。

    • 样本率的估计方法的选择

    单个率资料的Meta分析要求率的分布应该尽量的服从正态分布。如原始率不服从正态分布,可经过转换使其服从或接近正态分布,从而提高合并结果的可靠性。命令metaprop()进提供了5种样本率的估计方法,根据样本率的分布决定使用哪种合并方法,五种估计方法如下:“PRAW”(没有转换的原始率), ”PLN”(对数转换), ”PLOGIT“(logit转换), “PAS”(反正弦转换),“PFT“(Freeman-Tukey双重反正弦转换), 在进行Meta分析之前,对原始率及按四种估计方法进行转换后的率进行正态性检验,根据检验结果选择最接近正态分布的方法。具体的命令:

    
    
    rate <- transform(meta,
    p = Case/Number,
    log=log(Case/Number),
    logit=log((Case/Number)/(1-Case/Number)),
    arcsin.size=asin(sqrt(Case/(Number+1))),
    darcsin=0.5*(asin(sqrt(Case/(Number+1)))+asin((sqrt(Case+1)/(Number+1)))))
    
    
    
    shapiro.test(rate$p)
    shapiro.test(rate$log)
    shapiro.test(rate$logit)
    shapiro.test(rate$arcsin)
    shapiro.test(rate$ darcsin)
     shapiro.test(rate$p)
    
        Shapiro-Wilk normality test
    
    data:  rate$p
    W = 0.89359, p-value = 0.3374
    
    > shapiro.test(rate$log)
    
        Shapiro-Wilk normality test
    
    data:  rate$log
    W = 0.89239, p-value = 0.3309
    
    > shapiro.test(rate$logit)
    
        Shapiro-Wilk normality test
    
    data:  rate$logit
    W = 0.89524, p-value = 0.3466
    
    > shapiro.test(rate$arcsin)
    
        Shapiro-Wilk normality test
    
    data:  rate$arcsin
    W = 0.89211, p-value = 0.3294
    
    > shapiro.test(rate$ darcsin)
    
        Shapiro-Wilk normality test
    
    data:  rate$darcsin
    W = 0.88822, p-value = 0.309
    

    结果显示原始率,对数转换, logit转换, 反正弦转换, Freeman-Tukey双重反正弦转换的正态性的结果分别是W = 0.89359, p-value = 0.3374;W = 0.89239, p-value = 0.3309 ;W = 0.89524, p-value = 0.3466; W = 0.89211, p-value = 0.3294;W = 0.88822, p-value = 0.309, 综上,我们选择双重反正弦转换,当然也可以试着选择其他的转换类型, 然后通过比较异质性的大小,选择一个合适的类型。

    • 效应量的合并

    通过命令metaprop(),进行率的合并。具体的命令:

    meta1 <- metaprop (Case ,Number, data=meta, studlab=paste(Author),sm="PFT")
    meta1
    

    ​结果显示,异质性检验Q=4.07 P<0.539 I2=0,因此 认为没有统计学意义上的异质性,所以优先选用固定效用模型,如果I2较大,说明6个原始研究间数据存在一定的异致性,则选用随机效应模型。

    1. 再看合并的率患病率= 0.1893, 95% CI: 0.1175-0.2736。

    下图所示为Meta分析的森林图。

    • 森林图的绘制

    具体的命令如下:forest(meta1)

    从森林图中,非常简单和直观地看到Meta分析的统计结果

    发表偏倚的检测:运用Egger检验检测发表偏倚,发表偏倚的命令是metabias()。具体的命令:

     metabias(meta1,k.min=6)
    
        Linear regression test of funnel plot asymmetry
    
    data:  meta1
    t = -0.17011, df = 4, p-value = 0.8732
    alternative hypothesis: asymmetry in funnel plot
    sample estimates:
          bias    se.bias      slope 
    -0.1593819  0.9369520  0.5569597 
    

    从结果中显示,t = -0.17011, p-value = 0.8732,因此认为不存在发表偏倚,

    结论

    Meta分析的结果显示:该病患者患病率为为0.2695 ,95%可信区间为[0.2359; 0.3044] 。

    其他

    1. 模型选择的标准

    若各原始研究间存在异质性,则使用随机效应模型;否则,则使用固定效应模型。

    1. 异质性的判断

    Meta分析时,若I2<25%,则认为不存在异致性;若I2介于25%-50%之间,则认为异致性程度较小;若I2的值介于50%-75%之间,则认为存在一定的异致性;若I2>75%,则认为存在较大的异致性。

    总结

    本文结合实例,介绍了在R软件中如何实现单个率的资料Meta分析,由于单个率的Meta分析各原始文献为单个组的率,稳定性可能不同于具有两个组的研究,因此在合并时统计学异质性可能会比较大,当异质性较大时,首先要从专业性的角度对不同情况下的率进行亚组分析等来确定Meta分析的结果是否可靠。

    相关文章

      网友评论

        本文标题:R语言meta分析(2)单个率的Meta分析

        本文链接:https://www.haomeiwen.com/subject/tmdgeqtx.html