这里以我的一篇meta分析为例,详细描述meta分析的一般步骤,该例子实现的是效应量β的合并
R包:metafor或meta包,第一个例子以metafor包为例。
1.准备数据集
2.异质性检验
install.packages("metafor")library(metafor)metamod<-rma(yi=β,data=metabirth3,sei=se,method="DL")#β是回归系数的值,se是标准误,DL表示选择的是随机效应模型,固定效应模型是method="FE"summary(metamod)#输出结果
可以看到I^2为28.34%,属于低度异质性,可采用固定效应模型。异质性低的时候可以采用固定效应模型和随机效应模型,结果差别不大,但高异质性只能选择随机效应模型,否则会使结果外推性受到约束。此处选择随机效应模型是出于保守情况考虑。
3.森林图绘制
forestplot<-forest(metamod,refline = 1,mlab="Random-effect Model for All Studies", slab=paste(metabirth3$author,metabirth3$year,sep=","), xlab="β",showweights = T)text(-500,6:1,pos=2,metabirth3$country)text(c(-1600,-500,300,800),8,pos=c(4,2,4,4),c("Author(s) and Year", "Location","Weight","β[95%CI]"),cex=1,font=2)#添加标签
结果如下图
黑色方块表示的是权重大小,对应着右方的weight,水平横线是95%置信区间。菱形是合并效应值,95%置信区间小于0,意味着meta分析结果有统计学意义。
4.文献发表偏倚检验
可以用漏斗图及Begger’s及Egger’s检验
funnel(metamod)ranktest(metamod)#Begg's检验#regtest(metamod)#Egger's检验#
可能是由于文献数量的限制,漏斗图呈现明显不对称模式,无法判断是由于发表偏倚所致还是文献数量太少的缘故
可以看出Begg’s检验及Egger’s 检验的结果,P值都是大于0.05的,也就意味着没有发表偏倚。
5.敏感性检验
leavelout(metamod,digits = 3)
往期内容:
R数据分析:贝叶斯定理的R语言模拟
R数据分析:用R语言做潜类别分析LCA
R可视化:如何用R做一个让别人一目了然的图
R语言:利用caret的dummyVars函数设置虚拟变量
R数据分析:R Markdown:数据分析过程 告利器,你必须得学呀
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!