关键词:stata; Meta分析; 随机对照试验; 二分类数据; metan命令
一、案例介绍
本文以模版数据为例,为研究补钙对预防骨质疏松发生的效果,检索纳入9篇RCT研究文献,具体数据见表1,干预组为钙补充剂组,对照组为安慰剂组,具体指标含义见表1,针对这9篇文献的相对危险度进行Meta分析。案例数据可从“附件下载”处下载。
二、软件操作及结果解读
(一) 数据整理及读取
二分类数据主要是符合2×2四格表形式,变量分别为试验组和对照组中发生和未发生事件人数。数据读取,可参考stata数据的读取及结果保存。读取数据后如图1所示,t1、t0、c1、c0分别表示实验组结局事件发生数、实验组结局事件未发生数(注意不是实验组总例数)、对照组结局事件发生数、对照组结局事件未发生数。
(二) 异质性检验
选择RR为效应量,任意选用固定或随机效应模型进行异质性检验,可以直接得到Q统计量和I2统计量,再根据异质性检验的结果选择相应的效应模型。
代码如下:
metan t1 t0 c1 c0, label(namevar=Author,yearvar=Year) fixed rr nograph #nograph表示不显示森林图
从结果图2可知,异质性检验Q统计量=34.27,P <0.001,I2 = 76.7%,均提示研究间异质性较大,应选用随机效应模型。
(三) 合并效应量,绘制森林图
根据具体要求,合并数据,使用metan命令进行Meta分析,采用D-L法合并RR,产生森林图。结果见图3—图5。
代码如下:
metan t1 t0 c1 c0, random rr label(namevar=Author,yearvar=Year) forestplot(favours(Ca reduce risk of disease # Ca increase risk of disease) xlabel(.1 1 4) counts group1(treatment) group2(control) textsize(100))
该命令参数介绍如下:
- label(namevar=Author,yearvar=Year):在输出结果和森林图垂直轴中显示作者及发表时间;
- random:根据异质性检验,选用随机效应模型,且异质性的大小以M-H模型估计;
- rr:合并RR;
- xlabel(.1 1 4):定义图形中X轴的标签;
- counts:在森林图中显示两组发生事件人数/总人数;
- textsize:指定森林图字体大小。
Stata允许用户对森林图进行修改和美化,在所得的森林图上点击右键,选择“Start Graph Editor”,点击后可以进行修改模式,如对字体大小、位置按照需要进行修。修改完成后,点击右键,选择“Stop Graph Editor”,点击后退出修改,保存或复制到文字处理软件中即可。
(四) 结果解读
无论是数字化结果,还是森林图,均给出了每一研究效应量的点估计及95%可信区间,合并效应量点估计及95%可信区间为0.69 (95%CI: 0.57~0.84),相应z = -3.797,P<0.001。表明钙补充剂组发生骨质疏松的风险是对照组的0.69倍,即补充钙剂可降低31%的骨质疏松发生风险。
三、知识小贴士
metan提供了操作对话框,可以在命令行窗口键入“db metan”将其调出使用。需要注意的是,命令区分大小写,不能将“metan”写作“Metan”,否则Stata就不能识别该命令。metan命令中可以设置图形文字大小以及添加对森林图的描述,语法格式如下:
metan varlist [if exp] [in range] [weight] [,measure_and_model_options options_for_continuous_data output_options forest_plot_options]
metan命令中部分重要选项的代码介绍如下。
(一) 变量
二分类数据Meta分析主要的命令中需要4个变量(varlist):指定试验组发生事件(如死亡)和未发生事件(如未死亡)例数,以及对照组发生事件(如死亡)和未发生事件(如未死亡)例数。例如,metan tdeath tnodeath cdeath cnodeath。
(二) 治疗效应量和模型选择
二分类数据选项(options)及说明如下,再次强调,stata软件严格区分大小写,这些选择项务必使用小写形式,包括首字母也要小写。
- rr:合并相对危险度(risk ratios),为默认选项;
- or:合并优势比(odds ratios);
- rd:合并率差(risk differences);
- fixed:指定用M-H法进行固定效应模型分析,为默认选项;
- fixedi:指定用倒方差法进行固定效应模型分析;
- peto:指定用peto法合并OR;
- random:指定用D-L法进行随机效应模型分析,且异质性的大小以M-H模型估计;
- randomi:指定用D-L法进行随机效应模型分析,且异质性的大小以I-V模型估计;
- cornfield:以Cornfield法计算or值的可信区间,默认方法为M-H法;
- chi2:显示方差统计量用以检测合并的效应量统计学显著性,且只能用于I-V法和M-H法合并OR;
- breslow:采用Breslow-Day检验对效应指标ORs进行同质性检验;
- CC(#):允许用户指定对0格子数据添加连续性校正常数,默认每个格子加0.5校正;
- nointeger:允许0格子中数字可以不为整数,在对含0格子的数据进行校正,纳入整群随机试验而“有效样本量”少于总样本量时非常有用;
- second(model or estimates and description):在Stata9.0系列版本以上才能使用,使用标准方法对数据进行分析获得合并结果,并允许用户指定其他方法所获得的合并结果一起显示(其他方法的结果可以不使用metan获得);
- first(estimates and description):使用其他软件获得的合并结果显示在metan绘制的森林图中,结果不再基于标准方法,完全靠用户指定效应量及其95%可信区间、或者效应量及其标准误。
(三) 结果输出选择项
metan输出选项及说明如下:
- by():按亚组进行Meta分析;
- sgweight:指定亚组的各个研究的权重百分比之和为100%,默认为所有研究权重的百分比之和为100%;
- log:以对数尺度报告结果,仅对原始数据以OR和RR为效应量时有用;
- eform:以指数尺度报告效应量及其95%可信区间,仅对输入的变量lnOR或lnHR时有用;
- nosubgroup:不显示各亚组合并效应量结果,默认为显示各亚组和全部合并效应量结果;
- ilevel():指定单个研究的可信区间范围,如90%、95%、99%等;
- olevel():指定总研究(合并效应量)的可信区间范围,如90%、95%、99%等。ilevel和olevel不需要设置为一样,显著水平可默认为所设置的大小;
- sortby():按变量varlist进行排序;
- label([namevar=namevar],[yearvar=yearvar]):给数据添加名称、时间等标签;
- nokeep:指明Stata不保留参数;
- notable:不显示数字化结果;
- nograph:不显示森林图。
(四) 森林图选项
森林图的部分设置选项及说明如下,更多设置可查看metan自带帮助文件:
- effect:用于在森林图指明效应量的名称;
- nooverall:在森林图中不显示总的合并效应量;
- nowt:在森林图中不显示权重百分比,默认为显示;
- nostats:不显示统计量;
- counts:显示两组发生事件数及总数(n/N),在Stata9.0系列以上版本才能使用;
- group1(string), group2(string):与counts联合使用,用于指定两个组的名称;
- favours:添加对森林图的备注;
- xlabel():定义x轴,各数据间以逗号隔开;
- xtick():对x轴添加标记,各数据间以逗号隔开;
- force:强制x轴按xlabel()指定的范围标记刻度;
- boxsca:控制方块大小,在Stata9.0系列版本以上才能使用;
- nobox:不显示表示权重大小的方块,仅显示点估计;
- texts():指定字体大小,在Stata9.0系列版本以上才能使用,一般在20~500内设置。
- 以下选项均只能在Stata9.0系列版本以上才能使用:
- lcols(varlist), rcols(varlist):指定在森林图左侧和右侧添加数据。如果没有使用nostats和nowt选择项,森林图右侧第1、第2列分别是效应量、权重,如果再加用counts选择项,则被设为第3列。lcols(varlist), rcols(varlist)中的每一列以变量名为标签;
- astext():指定字体占图片显示比例,默认为50%,可以在10%~90%范围内设置;
- double:在图中,允许lcols、rcols中的变量占2行,对变量名是长字符者有用;
- nohet:在图中不显示异质性统计量;
- summaryonly:仅显示合并效应量,适用于亚组较多时;
- null():显示用户指定的无效线,非0或1;
- nulloff:在图中移除无效线。