使用stata进行meta分析的详细具体过程和方法 meta, stata 最近使用stata 8进行meta分析,之前已经使用refman 5进行了初步处理,但是refman的漏斗图只能粗略看是否对称,无法定量,据说stata可以进行发表性偏倚定量评价,所以自己摸索stata中的meta分析方法,在DXY中学习了不少战友的帖子(zhangdog战友),都感觉不是很系统,有的还有些问题。结合自己的体会,写个详细的总结,希望对像我一样的初学者有所帮助,尤其对很多非统计学专业的人员有用,当然我也不是统计学专业的,问题再所难免,共同学习,还望战友指点。 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 : |( g; m- [2 `; b3 `(分别表示纳入研究序号,名称,暴露组或处理组例数,总例数,对照组例数,对照组总例数,因为我是用refman中导出数据,这后4项可以直接输出),作用是产生变量。然后可以逐行输入数据,以end命令结束,我建议初学者跳到下面的输入更简单。* s# ?- w; d: B6 v$ L- j (2)点Data——Data editor(或ctrl+7快捷键),可以直接录入数据,可以直接复制,粘贴数据。输完后点击preserve保存退出Data editor 窗口。 6 z7 T5 M3 H5 ~% 第一步(1)也可以省略,进入第二步后,先输入数据,然后双击自动产生的变量var1,var2....进行变量名称的修改,个人感觉这样快捷。 1 Deng SL 2004 31 114 8 1002 Ding HF 2006 19 25 5 8^3 h2 l* t6 W9 ?" \$ _" o- S* Z4 U' m+ R$ i4 i8 V( P& 3 Fang ZL 2002 35 36 20 35@5 ?* E& [! + C& ?* ^) Q3 y! lR, F' F1 4 Ito K 2006 36 40 31 40 5 Kao JH 2003 81 127 4 35m/ y4 w2 R. y: h4 ~5 a 6 Yuen MF 2004 60 66 101 135 1 V3 [0 M& Y4 ~. B. x- a. B% l* ; r `( L/ n0 ~- d! u, W完毕在命令窗输入list命令查看数据。 可以参考陈峰主编《现代医学统计学与stata应用》一书,搜索战友“紫竹林之舞”的帖子里有电子版。 y5 }- z* r+ a1 Z3.输入meta分析命令进行处理。常用中间命令和函数: ) Q) \' d; y- T2 f. . e, L8 a3 I; S/ B .generate(gen)产生变量和数据X- L+ A. X& X* f" L .replace 替代变量和数据,在重复处理相似数据的时候使用。 .generate nonmu1=total1-event1 .generate nonmu0=total0-event04 S% e' S* |6 d3 x4 A* O. v5 |) v .generate logor=log((event1/nonmu1)/(event0/nonmu0))(logor为OR值的常用对数,后面括号内为OR值的直接结算公式,即暴露组的发病率与对照组发病率的比值比oddis ratio) . h! X" n7 vgenerate selogor=sqrt((1/event1)+(1/nonmu1)+(1/event0)+(1/nonmu0)) % _0 \$ U. T9 (selogor为组内方差的对数) ( N0 P# _5 W* r5 R0 r4.metan可以直接输出or(95%CI)和森林图。1 @: x) b, J- l! B$ s2 `' 7 l8 @" w: f( h+ ^& J+ H/ l. Tmetan event1 nonmu1 event0 nonmu0, or xlab(.1,1,10) label(namevar=study)5. metacum计算累计or值和图形输出7 O/ } _/ J9 `# s7 d metacum logor selogor, effect eform graph cline xline(1) xlab(.1,1,10) id(study) b2title(Odds ratio) 6. metainf评价除去某文献后的合并效应变化,我个人理解就是相当于敏感性分析,不当之处请战友指出。4 [8 ^9 S0 o$ @4 K: n8 y# ( I' }0 t/ s- { 7 T" W- H; t; Ametainf 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) " I. w2 O2 k! S, d命令来源参考:Systematic Reviews in Health Care一书,chapter 18 8 _' C* R2 [$ Khttp://www.blackwellpublishing.com/medicine/bmj/systreviews/samplechap.asp 8.注意事项: 命令输出的时候全部小写,否则stata不识别8 Z! m3 I3 T8 T* k8 A ) t h# W, C' W]' }7 @, u8 L0 s结果输出直接复制,粘贴,ctr+c和ctr+v,包括输出的数据和图形。 请战友讨论问题: 1.我按照zhangdog战友给出的公式,将refman生成的or,LL,UL直接输入,generate logor=log(or)" z9 y: ~5 h, ~: J0 Q0 8 j0 F; [1 I7 G2 L! R* I- P0 i generate selogor=(log(ul)-log(ll))/2*1.96 直接计算logor和selogor为何结果与refman计算的差别很大,后来我用直接计算结果和refman计算的近似。不知道原因何在? ) @" }' r3 w- e) Rselnrr可以根据治疗效应的可信区间来计算(以95%可信区间为例):selnrr=(log(ul)-log(ll))/2*1.96 本文来源:https://www.wddqw.com/doc/8ae0e1267a563c1ec5da50e2524de518964bd3d6.html