SAS被誉为国际上数据处理和统计分析领域的标准软件,也是实现Meta分析的优秀软件之一,但其程序编写复杂且难度较大,要求使用者具备较强的编程功底。评价显著性检验的统计效能是Meta分析的重要步骤,为更好地使用SAS软件,美国南佛罗里达大学的Guy Cafri等共同研发了一款专用于实现Meta分析统计效能计算的SAS宏命令(%metapower)。该宏命令可实现Meta分析整体结果、异质性和亚组分析统计效能的计算,简洁易操作,本文结合实例对该宏命令进行介绍。
引用本文: 田旭, 曾子, 毛智, 周权, 曾宪涛, 王燕, 宋国敏. 应用SAS软件宏命令实现Meta分析统计效能计算. 中国循证医学杂志, 2015, 15(1): 110-115. doi: 10.7507/1672-2531.20150019 复制
Meta分析是将同一主题的多项同质研究采用定量手段加以合并以得出总体结果的一种统计学方法 [1],其目的是对干预/暴露是否有意义进行显著性检验,因此保证研究的统计效能至关重要 [2]。原始研究统计效能的重要性已被公认,但因缺乏相应的计算方法 [3]使得Meta分析显著性检验中很少考虑统计效能 [4]。为此Hedges与Pigott基于SAS软件开发了一套用于Meta分析统计效能计算的程序,因其对使用者要求较高而难于常规推广 [2, 5]。为实现Meta分析统计效能在SAS软件中的便捷计算,并提高系统评价与Meta分析制作者对显著性检验中统计效能的关注度,美国南佛罗里达大学的Cafri等 [6]在2009年共同开发了专门用于实现Meta分析统计效能计算的SAS宏,即“metapower宏”。目前,包括笔者团队在内的大多作者都采用Power and Precision和G*Power等软件实现原始研究和Meta分析的效能计算 [7, 8],国内尚无介绍SAS 宏命令实现Meta分析统计效能的文章。本文以Yakoob等 [9]发表的文章中的部分数据(表 1)为例,介绍应用SAS软件%metapower宏命令实现Meta分析统计效能的过程。

1 SAS软件及SAS宏简介
SAS(statistical analysis system)软件是目前国际上最具影响力的统计软件之一,具有完备的数据访问、管理、分析和呈现功能,目前最高版本为9.3版 [10]。SAS软件主要靠输入代码编程驱动,故SAS软件的应用要求使用者具备较高的专业知识,而利用SAS软件的宏可以减少在完成一些共同任务时必须输入的文本量,也可以使程序模块化,使程序具有易读、便于修改、移植、方便重复使用的优点 [11]。
SAS宏是一段编辑好的程序,用户可以在提交SAS程序或SAS命令行中调用 [11]。利用%macro语句开始一个宏,同时给出这个宏的名字,如:%macro yxtx;用%mend语句结束一个宏,其后给出宏的名字,如%mend yxtx。放一个百分数符号(%)在宏名字的前面可以调用一个宏,如%yxtx。宏命令括号内的变量称为宏参数,用户可以直接为宏参数赋值,也可在调用宏时指定参数值 [10, 11]。
2 metapower宏简介
metapower宏是专门用于实现Meta分析统计效能计算的SAS宏 [
该宏适用于传统的二分类/连续型数据Meta分析、异质性检验、亚组分析及Meta回归等的统计效能计算,使用者只需对效能计算类型加以界定即可完成特定的效能分析。在SAS软件中,Meta分析统计效能计算的所有过程都被整合在metapower宏中,用户只需对作宏参数进行赋值,即可方便获取各种所需结果。metapower宏的主要参数介绍如下:
%metapower (test=,model=,raw_data=,alpha=,tau2=,heterogeneity=,n1=,n2=,k=,eff_type=,T=,Dataset=,B=,v=,x=,es=,p=,weight=)
其中test指定效能计算类型(M:平均效应量;QT:异质性检验;contrast:亚组分析/组检差异性检验;QB:分类中介变量检验;QW:分类变量不同水平异质性检验;Reg:多项混合检验与回归系数检验;QE:回归分析的异质性检验);model指定不同的Meta合并模型(固定或随机效应模型);raw_data指定效能计算是否基于原始数据;alpha指定显著性检验水准;tau2指定研究间方差(如果未提供,指定该值为99,此时可以指定异质性比值),如果提供了原始数据,基于这些数据,程序可自动估算研究间方差作为录入参数,如果未指定原始数据,则需要指定tau2或者heterogenity比值,这两个值可源于合理的猜测;heterogeneity指定研究间方差与研究内误差比值(可按照Hedges和Pigott的经验法,指定该比值为0.333、0.667和1对应于低、中、高的异质性);n1/n2指定纳入研究的平均样本量,基于效应指标d的统计效能计算,需同时提供n1和n2,基于效应指标r或z的统计效能计算则只需n1,而对于效应指标OR,需在一般研究水平指定比值对数的方差(如,式中a-d对应于四个表中的单位频数);k指定纳入合并研究数;eff_type指定效应指标(d:标准化均数差,r:相关系数,z:相关系数的Fisher转换值,or:比值比的对数值);T指定特定效应指标下合并效应量的平均大小(,其中权重 ,νi为效应量方差,Ti为第i项研究的效应量,k为纳入合并研究数);Dataset指定SAS数据集;B从标准化回归系数集中指定一个参数;v从包含研究效应量方差的外部数据集中指定一个或多个参数;x从包含回归分析预测变量值的外部数据集中指定一个或多个参数(等同于设计矩阵);es从包含单个研究效应量的外部数据集中指定一个或多个参数;p为绝对数据模型中,分析残差变量时的分类变量数或回归分析模型中,残差变量检验时的预测变量数;weight为亚组分析时,从各组权重赋值构成的数据集中指定一个参数。
3 数据准备
基于SAS系统,各个统计学分析程序只能对SAS数据集中的数据进行处理,所以如何将数据转换成SAS数据集是SAS进行统计分析的基础。如何选取易于解释、能够准确反映不同研究间结局指标关联程度的合并效应量指标是实现Meta分析的关键。效应量指标的选择依据数据类型的不同而变化,故为实现结局的可解释性,组间比较及组间合并对不同研究效应指标进行标准化尤为重要。在社会和医学领域,最常用的标准化效应量指标包括标准化均数效应量(d)、相关系数(r)、r的Fisher转化值(z)及比值比的对数转化值(logOR)。
对于连续型数据,常采用d作为效应量指标,其计算公式如下:
$d=\frac{{{{\bar{M}}}^{T}}-{{{\bar{M}}}^{C}}}{{{S}_{within}}}$ |
式中,为干预组效应量均数,为对照组效应量均数,Swithin为组内标准差(Swithin = ,式中nT、nC和ST、SC分别为干预组和对照组样本量及标准差)。d值的抽样不一致性可用方差(v)进行解释,其计算公式如下:
如果研究的两组样本量已知,可以通过单个效应量值计算v值。因为d近似服从真实效应的正态分布,因此也可用效应量的95%可信区间/标准差/标准误计算v值。
对于二分类数据,比值比的对数值(logOR)是常用的效应量指标,其计算公式如下:
$v=\frac{{{n}^{T}}+{{n}^{C}}}{{{n}^{T}}{{n}^{C}}}+\frac{{{d}^{2}}}{2\left( {{n}^{T}}+{{n}^{C}} \right)}$ |
式中,pT和pC分别指干预组和对照组事件发生率,logOR的抽样不一致性用其方差(v)表示,计算公式如下:
$\log OR=\log \left[ \frac{{{p}^{T}}/\left( 1-{{p}^{T}} \right)}{{{p}^{C}}/\left( 1-{{p}^{C}} \right)} \right]=\log \left[ \frac{{{p}^{T}}/\left( 1-{{p}^{C}} \right)}{{{p}^{C}}/\left( 1-{{p}^{T}} \right)} \right]$ |
式中,nP和nC表示干预组和对照组的样本量。logOR近似服从真实效应的正态分布,可用效应量的95%可信区间/标准差/标准误计算v值。OR指标系还包括相对危险度(relative risk,RR)和风险差(risk difference,RD),对于二分类数据效应指标测量的具体论述参考专业统计教材。
对于连续型变量或效应量结局指标,相关和相关系数也常被作为效应量指标。鉴于相关系数(correlation coefficient)多数情况下不服从正态分布,因此通常将其经过Fisher转换(z),使其近似服从正态分布,具体转化公式如下:
$z=\frac{1}{2}\ln \left[ \frac{1+r}{1-r} \right]$ |
式中,r为相关系数,不同类型检验对应r的计算参见统计教材。z值的抽样不一致性用其方差(v)表示,计算如下:
$v=\frac{1}{n-3}$ |
式中,n为研究样本量,该值也服从于其真实效应的正态分布,也可通过d和logOR的v转化公式计算抽样不一致性方差。
尽管对于不同数据类型合并选取不同的效应指标,然而各效应指标可以实现相互转化。logOR及相应方差(vlogOR)与d值及对应方差(vd)相互转化公式如下:
$d=\log OR\times \frac{\sqrt{3}}{\pi },{{v}_{d}}={{v}_{\log OR}}\times \frac{3}{{{\pi }^{2}}}$ |
r及对应方差(vr)转化为d值及vd公式如下:
$d=\frac{2r}{\sqrt{1-{{r}^{2}}}},{{v}_{d}}=\frac{4{{v}_{r}}}{{{\left( 1-{{r}^{2}} \right)}^{3}}}$ |
d值及vd转化为r及vr公式如下:
$r=\frac{d}{\sqrt{{{d}^{2}}+a}},{{v}_{r}}=\frac{{{a}^{2}}{{v}_{d}}}{{{\left( {{d}^{2}}+a \right)}^{3}}}$ |
式中,a表示校正因子,其值决定于两组样本量(a = )。
基于本次示例数据的类型(二分类数据),使用前需要先行将效应量(effect size,es)对应转化为宏参数effect_type效应指标所对应的log OR值,标准误(SE)转化为方差(v)(v = SE2)。示例数据转换完成后(表 2),录入格式如下:
data yxtx1;
input es v;
cards;
0.015 0.003136
-0.035 0.011236
-0.174 2.099601
-0.009 0.358801
-0.105 0.3249
;
run;
至此,以“yxtx1”为名的SAS数据集就被建立了。需要注意的是,标点符号均为英文状态下输入。

4 在metapower宏中实现统计效能计算
4.1 计算平均效应量统计效能
基于3录入的SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='M',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=0.09531018,Dataset=yxtx1,B=NA,v=v,x=NA,es=es,p=NA,weight=NA);
run;
该命令中需注意T值的计算,其值为合并效应量的平均大小,鉴于原文中合并效应量为1,求取自然对数值为0,因此原作者分别取值1.1、1.2和1.3进行效能计算。本文演示只取1.1进行统计效能计算。基于上述宏命令,SAS软件自动返回的结果(图 1)中,可以发现基于纳入的5项研究的Meta分析平均效应量的统计效能为49.2%。

4.2 计算异质性检验统计效能
基于3录入的SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='QT',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=0.09531018,Dataset=yxtx1,B=NA,v=v,x=NA,es=es,p=NA,weight=NA);
run;
SAS软件自动返回的结果(图 2)中,可以发现基于纳入的5项研究的Meta分析异质性检验的统计效能为85.7%。

4.3 计算亚组分析统计效能
在Meta分析时,通常会依据纳入研究的临床特征或方法学差异进行亚组分析,因此对Meta亚组分析的统计效能加以计算实为必要,以明确亚组间差异。与总体合并Meta分析不同,亚组Meta分析合并效应量的平均值(T)为各组效应量的加权和(G= c1T1 + c2T2 + c3T3 + … + cpTp,式中系数c之和为0,例如四个亚组,那么可以界定为c1=1,c2=0,c3=0,c4= -1)。根据表 2中的数据及亚组分组标准,录入格式如下:
data yxtx2;
input es1 v1 es2 v2 T weight;
cards;
0.015 0.003136 -0.035 0.011236 0.050772326 1
-0.174 2.099601 -0.009 0.358801 0.000000000 -1
. . -0.105 0.3249 . .
;
run;
基于上述SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='contrast',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=T,Dataset=yxtx2,B=NA,v=v1 v2,x=NA,es=es1 es2,p=NA,weight=weight);
run;
SAS软件自动返回的结果(图 3)中,可以发现基于纳入的5项研究的Meta分析进行亚组分析的统计效能为7.2%。

5 讨论
Meta分析的统计效能计算类似于原始研究的效能分析,评价显著性检验的统计效能是Meta分析计划书的一部分 [12]。然而至今系统评价/Meta分析制作者仍很少关注Meta分析显著性检验时的统计学效能计算 [13],造成这一问题的原因主要为缺乏计算Meta分析统计效能的方法和Meta分析的检验效能高于原始研究这一普遍认识 [14]。当前国内外针对原始研究和Meta分析统计效能计算主要使用G*Power等软件,但此类软件并未考虑Meta分析合并模型,在统计效能计算方面存在一定不足 [15]。
目前,SAS软件可用于实现二分类数据和连续型数据的Meta分析 [16],也可用于实现诊断准确性试验 [17]和网状Meta分析 [18],还可用于计算Meta分析的统计效能 [11]。SAS软件编程用于Meta分析统计效能计算能够克服上述不足,但由于对使用者的编程水平等要求较高而难于常规推广,Cafri等 [6]基于编程开发的SAS宏(metapower)可以轻松实现不同合并模型、不同效应指标的统计效能计算。尽管SAS宏简化了Meta分析统计效能的计算过程,研究者仍应尽量多地搜集纳入合并研究的相关信息,以保证参数估算的准确性,最终实现统计效能的精确估计。
统计效能的估算固然重要,但不能简单地假设Meta分析具有高的检验效能,而应该对其统计效能进行计算以保证合并结果的可信度 [19]。例如一项研究表明Cochrane系统评价数据库中收录的系统评价所包含的中位研究数为6 [20],在此种情况下检验中等大小的统计效能常常低于80%[21]。第二,尽管在某些情况下可通过放宽纳入标准纳入足够多的研究以保证Meta分析具备足够的统计学效能,然而随着纳入标准的改变,Meta分析最初拟定解决的问题也随之变化,故多数情况下忠于原始问题要强于为了实现足够的检验效能而改变纳入标准 [22]。第三,当纳入研究不足以开展一项Meta分析时应放弃合并,除非纳入研究能保证Meta分析达到足够的检验效能。总之,更多地关注纳入研究及Meta分析的统计效能,有助于改善Meta分析的质量,促使Meta分析的效果真正等同于多中心、大样本、高质量的原始研究(如随机对照试验)的结果。
Meta分析是将同一主题的多项同质研究采用定量手段加以合并以得出总体结果的一种统计学方法 [1],其目的是对干预/暴露是否有意义进行显著性检验,因此保证研究的统计效能至关重要 [2]。原始研究统计效能的重要性已被公认,但因缺乏相应的计算方法 [3]使得Meta分析显著性检验中很少考虑统计效能 [4]。为此Hedges与Pigott基于SAS软件开发了一套用于Meta分析统计效能计算的程序,因其对使用者要求较高而难于常规推广 [2, 5]。为实现Meta分析统计效能在SAS软件中的便捷计算,并提高系统评价与Meta分析制作者对显著性检验中统计效能的关注度,美国南佛罗里达大学的Cafri等 [6]在2009年共同开发了专门用于实现Meta分析统计效能计算的SAS宏,即“metapower宏”。目前,包括笔者团队在内的大多作者都采用Power and Precision和G*Power等软件实现原始研究和Meta分析的效能计算 [7, 8],国内尚无介绍SAS 宏命令实现Meta分析统计效能的文章。本文以Yakoob等 [9]发表的文章中的部分数据(表 1)为例,介绍应用SAS软件%metapower宏命令实现Meta分析统计效能的过程。

1 SAS软件及SAS宏简介
SAS(statistical analysis system)软件是目前国际上最具影响力的统计软件之一,具有完备的数据访问、管理、分析和呈现功能,目前最高版本为9.3版 [10]。SAS软件主要靠输入代码编程驱动,故SAS软件的应用要求使用者具备较高的专业知识,而利用SAS软件的宏可以减少在完成一些共同任务时必须输入的文本量,也可以使程序模块化,使程序具有易读、便于修改、移植、方便重复使用的优点 [11]。
SAS宏是一段编辑好的程序,用户可以在提交SAS程序或SAS命令行中调用 [11]。利用%macro语句开始一个宏,同时给出这个宏的名字,如:%macro yxtx;用%mend语句结束一个宏,其后给出宏的名字,如%mend yxtx。放一个百分数符号(%)在宏名字的前面可以调用一个宏,如%yxtx。宏命令括号内的变量称为宏参数,用户可以直接为宏参数赋值,也可在调用宏时指定参数值 [10, 11]。
2 metapower宏简介
metapower宏是专门用于实现Meta分析统计效能计算的SAS宏 [
该宏适用于传统的二分类/连续型数据Meta分析、异质性检验、亚组分析及Meta回归等的统计效能计算,使用者只需对效能计算类型加以界定即可完成特定的效能分析。在SAS软件中,Meta分析统计效能计算的所有过程都被整合在metapower宏中,用户只需对作宏参数进行赋值,即可方便获取各种所需结果。metapower宏的主要参数介绍如下:
%metapower (test=,model=,raw_data=,alpha=,tau2=,heterogeneity=,n1=,n2=,k=,eff_type=,T=,Dataset=,B=,v=,x=,es=,p=,weight=)
其中test指定效能计算类型(M:平均效应量;QT:异质性检验;contrast:亚组分析/组检差异性检验;QB:分类中介变量检验;QW:分类变量不同水平异质性检验;Reg:多项混合检验与回归系数检验;QE:回归分析的异质性检验);model指定不同的Meta合并模型(固定或随机效应模型);raw_data指定效能计算是否基于原始数据;alpha指定显著性检验水准;tau2指定研究间方差(如果未提供,指定该值为99,此时可以指定异质性比值),如果提供了原始数据,基于这些数据,程序可自动估算研究间方差作为录入参数,如果未指定原始数据,则需要指定tau2或者heterogenity比值,这两个值可源于合理的猜测;heterogeneity指定研究间方差与研究内误差比值(可按照Hedges和Pigott的经验法,指定该比值为0.333、0.667和1对应于低、中、高的异质性);n1/n2指定纳入研究的平均样本量,基于效应指标d的统计效能计算,需同时提供n1和n2,基于效应指标r或z的统计效能计算则只需n1,而对于效应指标OR,需在一般研究水平指定比值对数的方差(如,式中a-d对应于四个表中的单位频数);k指定纳入合并研究数;eff_type指定效应指标(d:标准化均数差,r:相关系数,z:相关系数的Fisher转换值,or:比值比的对数值);T指定特定效应指标下合并效应量的平均大小(,其中权重 ,νi为效应量方差,Ti为第i项研究的效应量,k为纳入合并研究数);Dataset指定SAS数据集;B从标准化回归系数集中指定一个参数;v从包含研究效应量方差的外部数据集中指定一个或多个参数;x从包含回归分析预测变量值的外部数据集中指定一个或多个参数(等同于设计矩阵);es从包含单个研究效应量的外部数据集中指定一个或多个参数;p为绝对数据模型中,分析残差变量时的分类变量数或回归分析模型中,残差变量检验时的预测变量数;weight为亚组分析时,从各组权重赋值构成的数据集中指定一个参数。
3 数据准备
基于SAS系统,各个统计学分析程序只能对SAS数据集中的数据进行处理,所以如何将数据转换成SAS数据集是SAS进行统计分析的基础。如何选取易于解释、能够准确反映不同研究间结局指标关联程度的合并效应量指标是实现Meta分析的关键。效应量指标的选择依据数据类型的不同而变化,故为实现结局的可解释性,组间比较及组间合并对不同研究效应指标进行标准化尤为重要。在社会和医学领域,最常用的标准化效应量指标包括标准化均数效应量(d)、相关系数(r)、r的Fisher转化值(z)及比值比的对数转化值(logOR)。
对于连续型数据,常采用d作为效应量指标,其计算公式如下:
$d=\frac{{{{\bar{M}}}^{T}}-{{{\bar{M}}}^{C}}}{{{S}_{within}}}$ |
式中,为干预组效应量均数,为对照组效应量均数,Swithin为组内标准差(Swithin = ,式中nT、nC和ST、SC分别为干预组和对照组样本量及标准差)。d值的抽样不一致性可用方差(v)进行解释,其计算公式如下:
如果研究的两组样本量已知,可以通过单个效应量值计算v值。因为d近似服从真实效应的正态分布,因此也可用效应量的95%可信区间/标准差/标准误计算v值。
对于二分类数据,比值比的对数值(logOR)是常用的效应量指标,其计算公式如下:
$v=\frac{{{n}^{T}}+{{n}^{C}}}{{{n}^{T}}{{n}^{C}}}+\frac{{{d}^{2}}}{2\left( {{n}^{T}}+{{n}^{C}} \right)}$ |
式中,pT和pC分别指干预组和对照组事件发生率,logOR的抽样不一致性用其方差(v)表示,计算公式如下:
$\log OR=\log \left[ \frac{{{p}^{T}}/\left( 1-{{p}^{T}} \right)}{{{p}^{C}}/\left( 1-{{p}^{C}} \right)} \right]=\log \left[ \frac{{{p}^{T}}/\left( 1-{{p}^{C}} \right)}{{{p}^{C}}/\left( 1-{{p}^{T}} \right)} \right]$ |
式中,nP和nC表示干预组和对照组的样本量。logOR近似服从真实效应的正态分布,可用效应量的95%可信区间/标准差/标准误计算v值。OR指标系还包括相对危险度(relative risk,RR)和风险差(risk difference,RD),对于二分类数据效应指标测量的具体论述参考专业统计教材。
对于连续型变量或效应量结局指标,相关和相关系数也常被作为效应量指标。鉴于相关系数(correlation coefficient)多数情况下不服从正态分布,因此通常将其经过Fisher转换(z),使其近似服从正态分布,具体转化公式如下:
$z=\frac{1}{2}\ln \left[ \frac{1+r}{1-r} \right]$ |
式中,r为相关系数,不同类型检验对应r的计算参见统计教材。z值的抽样不一致性用其方差(v)表示,计算如下:
$v=\frac{1}{n-3}$ |
式中,n为研究样本量,该值也服从于其真实效应的正态分布,也可通过d和logOR的v转化公式计算抽样不一致性方差。
尽管对于不同数据类型合并选取不同的效应指标,然而各效应指标可以实现相互转化。logOR及相应方差(vlogOR)与d值及对应方差(vd)相互转化公式如下:
$d=\log OR\times \frac{\sqrt{3}}{\pi },{{v}_{d}}={{v}_{\log OR}}\times \frac{3}{{{\pi }^{2}}}$ |
r及对应方差(vr)转化为d值及vd公式如下:
$d=\frac{2r}{\sqrt{1-{{r}^{2}}}},{{v}_{d}}=\frac{4{{v}_{r}}}{{{\left( 1-{{r}^{2}} \right)}^{3}}}$ |
d值及vd转化为r及vr公式如下:
$r=\frac{d}{\sqrt{{{d}^{2}}+a}},{{v}_{r}}=\frac{{{a}^{2}}{{v}_{d}}}{{{\left( {{d}^{2}}+a \right)}^{3}}}$ |
式中,a表示校正因子,其值决定于两组样本量(a = )。
基于本次示例数据的类型(二分类数据),使用前需要先行将效应量(effect size,es)对应转化为宏参数effect_type效应指标所对应的log OR值,标准误(SE)转化为方差(v)(v = SE2)。示例数据转换完成后(表 2),录入格式如下:
data yxtx1;
input es v;
cards;
0.015 0.003136
-0.035 0.011236
-0.174 2.099601
-0.009 0.358801
-0.105 0.3249
;
run;
至此,以“yxtx1”为名的SAS数据集就被建立了。需要注意的是,标点符号均为英文状态下输入。

4 在metapower宏中实现统计效能计算
4.1 计算平均效应量统计效能
基于3录入的SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='M',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=0.09531018,Dataset=yxtx1,B=NA,v=v,x=NA,es=es,p=NA,weight=NA);
run;
该命令中需注意T值的计算,其值为合并效应量的平均大小,鉴于原文中合并效应量为1,求取自然对数值为0,因此原作者分别取值1.1、1.2和1.3进行效能计算。本文演示只取1.1进行统计效能计算。基于上述宏命令,SAS软件自动返回的结果(图 1)中,可以发现基于纳入的5项研究的Meta分析平均效应量的统计效能为49.2%。

4.2 计算异质性检验统计效能
基于3录入的SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='QT',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=0.09531018,Dataset=yxtx1,B=NA,v=v,x=NA,es=es,p=NA,weight=NA);
run;
SAS软件自动返回的结果(图 2)中,可以发现基于纳入的5项研究的Meta分析异质性检验的统计效能为85.7%。

4.3 计算亚组分析统计效能
在Meta分析时,通常会依据纳入研究的临床特征或方法学差异进行亚组分析,因此对Meta亚组分析的统计效能加以计算实为必要,以明确亚组间差异。与总体合并Meta分析不同,亚组Meta分析合并效应量的平均值(T)为各组效应量的加权和(G= c1T1 + c2T2 + c3T3 + … + cpTp,式中系数c之和为0,例如四个亚组,那么可以界定为c1=1,c2=0,c3=0,c4= -1)。根据表 2中的数据及亚组分组标准,录入格式如下:
data yxtx2;
input es1 v1 es2 v2 T weight;
cards;
0.015 0.003136 -0.035 0.011236 0.050772326 1
-0.174 2.099601 -0.009 0.358801 0.000000000 -1
. . -0.105 0.3249 . .
;
run;
基于上述SAS数据集,先将下载好的%metapower宏读入SAS软件,运行一下,再根据2介绍内容对%metapower宏参数进行如下指定:
%metapower(test='contrast',model='random',raw_data='yes',alpha=.05,tau2=99,heterogeneity=99,n1=99,n2=99,k=99,eff_type='or',T=T,Dataset=yxtx2,B=NA,v=v1 v2,x=NA,es=es1 es2,p=NA,weight=weight);
run;
SAS软件自动返回的结果(图 3)中,可以发现基于纳入的5项研究的Meta分析进行亚组分析的统计效能为7.2%。

5 讨论
Meta分析的统计效能计算类似于原始研究的效能分析,评价显著性检验的统计效能是Meta分析计划书的一部分 [12]。然而至今系统评价/Meta分析制作者仍很少关注Meta分析显著性检验时的统计学效能计算 [13],造成这一问题的原因主要为缺乏计算Meta分析统计效能的方法和Meta分析的检验效能高于原始研究这一普遍认识 [14]。当前国内外针对原始研究和Meta分析统计效能计算主要使用G*Power等软件,但此类软件并未考虑Meta分析合并模型,在统计效能计算方面存在一定不足 [15]。
目前,SAS软件可用于实现二分类数据和连续型数据的Meta分析 [16],也可用于实现诊断准确性试验 [17]和网状Meta分析 [18],还可用于计算Meta分析的统计效能 [11]。SAS软件编程用于Meta分析统计效能计算能够克服上述不足,但由于对使用者的编程水平等要求较高而难于常规推广,Cafri等 [6]基于编程开发的SAS宏(metapower)可以轻松实现不同合并模型、不同效应指标的统计效能计算。尽管SAS宏简化了Meta分析统计效能的计算过程,研究者仍应尽量多地搜集纳入合并研究的相关信息,以保证参数估算的准确性,最终实现统计效能的精确估计。
统计效能的估算固然重要,但不能简单地假设Meta分析具有高的检验效能,而应该对其统计效能进行计算以保证合并结果的可信度 [19]。例如一项研究表明Cochrane系统评价数据库中收录的系统评价所包含的中位研究数为6 [20],在此种情况下检验中等大小的统计效能常常低于80%[21]。第二,尽管在某些情况下可通过放宽纳入标准纳入足够多的研究以保证Meta分析具备足够的统计学效能,然而随着纳入标准的改变,Meta分析最初拟定解决的问题也随之变化,故多数情况下忠于原始问题要强于为了实现足够的检验效能而改变纳入标准 [22]。第三,当纳入研究不足以开展一项Meta分析时应放弃合并,除非纳入研究能保证Meta分析达到足够的检验效能。总之,更多地关注纳入研究及Meta分析的统计效能,有助于改善Meta分析的质量,促使Meta分析的效果真正等同于多中心、大样本、高质量的原始研究(如随机对照试验)的结果。