【原创】使用stata进行meta分析的详细具体过程和方法

1.stata的安装,建议下载8.0的版本,有战友反映9.0和10.0的版本好象有些问题,反正基本功能有了,meta分析的菜单在8.0以后版本都有了,所以不必追求最新的。我是在www.epiman.cn上下载的。baidu,google上都能找到。
2.原始数据的录入,这是应用stata进行分析的基础。
(1)命令窗口输入:
Input no study event1 total1 event0 total0
(分别表示纳入研究序号,名称,暴露组或处理组例数,总例数,对照组例数,对照组总例数,因为我是用refman中导出数据,这后4项可以直接输出),作用是产生变量。然后可以逐行输入数据,以end命令结束,我建议初学者跳到下面的输入更简单。
(2)点Data——Data editor(或ctrl+7快捷键),可以直接录入数据,可以直接复制,粘贴数据。输完后点击preserve保存退出Data editor 窗口。
第一步(1)也可以省略,进入第二步后,先输入数据,然后双击自动产生的变量var1,var2....进行变量名称的修改,个人感觉这样快捷。
1 Deng SL 2004??31??114??8??100
2 Ding HF 2006??19??25??5??8
3 Fang ZL 2002??35??36??20??35
4 Ito K 2006??36??40??31??40
5 Kao JH 2003??81??127??4??35
6 Yuen MF 2004??60??66??101??135
完毕在命令窗输入list命令查看数据。
可以参考陈峰主编《现代医学统计学与stata应用》一书,搜索战友“紫竹林之舞”的帖子里有电子版。
3.输入meta分析命令进行处理。
常用中间命令和函数:
.generate(gen)产生变量和数据
.replace 替代变量和数据,在重复处理相似数据的时候使用。
.generate nonmu1=total1-event1
.generate nonmu0=total0-event0
4.metan可以直接输出or(95%CI)和森林图。
metan event1 nonmu1 event0 nonmu0, or xlab(.5,1,2,4,8,16) label(namevar=study)
gen logor=log( _ES)
gen selogor=_selogES
5. metacum计算累计or值和图形输出
metacum logor selogor, effect(f) eform graph cline xline(1) xlab(.5,1,2,4,8,16) id(study) b2title(Odds ratio)
6. metainf评价除去某文献后的合并效应变化,我个人理解就是相当于敏感性分析,不当之处请战友指出。
metainf logor selogor, eform id (study)
7. metabias命令定量评价发表性偏倚,给出p值和95%CI,注意p值大于0.05和95%CI包含1为无发表性偏倚。同时给出begg和egger两种算法,但是我看文献中使用egger的比较多,图形给出也有两种,begg图就是漏斗图,和refman的类似,不过方向有些不同而已。请问战友不知道应该如何选择,Egger用 (weighted regression) method 而Begg 用(rank correlation method).。
metabias logor selogor if no<10, graph(begg)
命令来源参考:Systematic Reviews in Health Care一书,chapter 18
http://www.blackwellpublishing.com/medicine/bmj/systreviews/samplechap.asp
8.注意事项:
命令输出的时候全部小写,否则stata不识别
结果输出直接复制,粘贴,ctr+c和ctr+v,包括输出的数据和图形。
请战友讨论问题:
1.我按照zhangdog战友给出的公式,将refman生成的or,LL,UL直接输入,
generate logor=log(or)
generate selogor=(log(ul)-log(ll))/2*1.96
直接计算logor和selogor为何结果与refman计算的差别很大,后来我用直接计算结果和refman计算的近似。不知道原因何在?
selnrr可以根据治疗效应的可信区间来计算(以95%可信区间为例):selnrr=(log(ul)-log(ll))/2*1.96
详细请见下帖:
http://www.dxy.cn/bbs/post/view?bid=96&id=9401003&sty=1&tpg=1&age=0
2.到底何时用lnor,何时用logor?组内方差的计算方法有几种?我提到的公式是wolf法。
3.请问战友应该如何选择egger和begg结果,Egger用 (weighted regression) method 而Begg 用(rank correlation method)?