关键词:森林图; 回归分析; metan; forestplot; Stata
在Meta分析中,森林图作为展示各文献中研究变量效应和合并效应的统计图为大家所熟知。近年来,森林图被推广应用到各种回归分析结果的可视化中,即将变量效应的点估计值、置信区间可视化为长短不一的线条,和变量名、假设检验的P值等一起绘制为森林图。这一可视化图形,更加简单和直观地展示了回归分析的结果,方便读者获知统计分析结果。
一、案例介绍
本文采用二分类logistic回归分析(Binomial Logistic Regression Analysis)——Stata软件实现中多因素回归分析的结果进行森林图的绘制,涉及的变量为Age (年龄:1=小于60岁、2=大于或等于60岁)、Parts [部位:1=单侧、2=center(中央)、3=lateral(极外侧)]、Calcification (钙化)、Sagittal diameter (矢状径)、Degeneration Grade (退变级别:1=Ⅰ~Ⅲ、2=Ⅳ、3=Ⅴ)。对该案例中多因素回归分析的结果进行整理,数据详见图1。其中,Variable为各变量的名称,OR为各变量的OR值, LCI和UCI分别为OR值95%置信区间的下限和上限。部分数据见图1。案例可从“附件下载”处下载。
二、问题分析
本案例的目的是将回归分析的主要结果转化为森林图。对于Stata软件,绘制森林图主要需要变量名、效应值(回归系数/OR/RR/HR)及其置信区间。因此,在使用Stata绘制回归分析结果的森林图之前,首选要获取上述数据。对于回归分析结果中的其他结果(如假设检验的P值),可以尝试以文本的形式添加在森林图中。在森林图的绘制上,Stata可展示的结果有限,对于分类变量的回归结果,一般仅展示非参照组的结果,如本案例中仅展示年龄≥60 岁(Age≥60 Yr)、突出部位为中央(Parts: center)和极外侧(Parts: lateral)的结果。
另外,本案例将分别使用metan和forestplot两个命令绘制森林图。
三、森林图绘制
(一) 基于metan的森林图
1. 安装meta分析模块
Stata的菜单中无meta分析的模块,需要后期自行安装。安装步骤如下:
(1) 从本文附件中下载Profile.do文件,并保存在"C:\ado\plus"中(图2)
(2) 双击打开Profile.do文件,或使用txt打开Profile.do后将其中代码复制到Stata中“Do-file Editor”下(图3-1),然后点击“”运行(图3-2)
(3) 此时meta分析模块已出现在菜单栏User下的选项中(图4-1);退出后重新打开Stata,Profile.do文件自动运行,meta分析模块自动完成加载(图4-2)
(4) 如果在使用meta分析过程中报错,不能识别metan等代码,很可能是模块中的功能不全,可以通过ssc install metan
进行重新安装
2. 读取数据
可以通过菜单栏中的File→Import→Excel spreadsheet/Text data导入*.xlsx或*.csv格式的文件,也可以通过命令import excel或import delimited导入excel中的文件。导入的数据见图5。
3. 绘制森林图
(1) 绘制基础版森林图,即在meta分析森林图的基础上去掉加权(nowt),去掉权重阴影(nobox),去掉合并效应值(nooverall),结果见图6
metan OR LCI UCI, label(namevar=Variable) fixed effect(Odds Ratio) nowt nobox nooverall
(2) 此时的森林图的无效线为0,而对于OR/RR/HR的无效线应该为1。因此,需要通过force null( )
配合X轴刻度的修改命令xlable( )
对无效线的位置进行修改(图7)
metan OR LCI UCI, label(namevar=Variable) fixed effect(Odds Ratio) nowt nooverall nobox force null(1.0) xlabel(0,1,2,3,4)
(3) 若想把假设检验的P值加入到森林图中,这里提供一种做法。可将P值作为metan命令中的年份选项,即在lable中加入yearvar=P
,结果见图8
metan OR LCI UCI, label(namevar=Variable, yearvar=P) fixed effect(Odds Ratio) nowt nooverall nobox force null(1.0) xlabel(0,1,2,3,4)
(二) 基于forestplot的森林图
1. 数据转换
为了使本案例数据森林图的无效线为1,需要先对OR值及其95%CI进行log转换,数据见图9;
gen logOR=log(OR) gen logLCI=log(LCI) gen logUCI=log(UCI)
2. 绘制森林图
foresplot命令的主要形式为forestplot [ES lci uci] [if] [in] [, options],可供使用的option(选择)也较多,读者可通过help forestplot查看。
(1) 绘制基础版森林图(图10)
forestplot logOR logLCI logUCI, eform effect (Odds Ratio) label(Variable) nowt nobox nooverall
(2) 通过 boxopts和ciopts改变区间线段颜色并添加封口线(图11),或通过图片编辑功能,对图片相应部分进行修改
forestplot logOR logLCI logUCI,eform effect (Odds Ratio) label(Variable) nowt nobox nooverall boxopts(mcolor(navy)) ciopts(lcolor(navy) rcap)
(3) 通过lcols(varlist)在森林图中添加文本内容,如添加P值(图12)
forestplot logOR logLCI logUCI, eform effect (Odds Ratio) label(Variable) nowt nobox nooverall boxopts(mcolor(navy)) ciopts(lcolor(navy) rcap) lcols(P)
四、结论
本案例分别使用metan和forestplot两个命令绘制了二分类logistic回归分析结果的森林图,并通过两个命令的option(选择)对森林图进行了细节的修改和完善,如改变无效线的位置、修改X轴刻度、增加区间线段的封口线、添加P值等。
五、知识小贴士
- 森林图作为一种数据可视化形式,不仅可以展示回归分析的结果,还可以展示其他含有点估计值和置信区间的结果,如配对t检验得到的两组的差值及其95%置信区间。
六、分析小技巧
- 回归系数的森林图
对于命令forestplot,若输入的效应值为回归系数及其95%置信区间,则不需要通过对效应值进行log转换。假设输入的效应值为β、lci、uci,那么作图命令如下:forestplot β lci uci, eform effect (Odds Ratio) label(Variable) nowt nobox nooverall boxopts(mcolor(navy)) ciopts(lcolor(navy) rcap) lcols(P)
- 图片编辑功能
一般绘图命令执行后,统计图便会在新的窗口弹出。如要对图片进行编辑(改变森林图中线段和点的颜色、类型、大小等),可通过图片编辑功能进行修改。图片编辑功能的启用方式如下:
① 在图片窗口中,选择File→Start Graph Editor
② 或者将鼠标悬停在图片上,点击鼠标右键,选择或者Start Graph Editor
图片编辑功能启用后(图13),可以在左侧选择功能,如添加文本、添加横线;可以在右侧选择要编辑的对象,如X轴(xaxis1)、标题(title)。
还可以双击要编辑的对象,启动编辑窗口(图14),可以对颜色、宽度、类型等进行修改。