目前诊断试验准确性的网状 Meta 分析尚在探索阶段,我们先前探索并介绍了可以实现诊断试验准确性网状 Meta 分析的不同方法。本文结合具体实例,介绍 ANOVA 模型实现贝叶斯方法的诊断试验准确性网状 Meta 分析的步骤,以期为拟进行相关研究的学者提供参考。
引用本文: 吴景玲, 潘蓓, 葛龙, 张俊华, 袁崇哲, 田金徽. ANOVA 模型实现贝叶斯方法的诊断试验准确性网状 Meta 分析. 中国循证医学杂志, 2017, 17(9): 1111-1116. doi: 10.7507/1672-2531.201706042 复制
网状 Meta 分析(Network meta-analysis),即为基于多个研究分析两个以上处理因素的间接比较结果(主要是调整间接比较)或者直接比较结果与间接比较结果的合并结果(混合治疗效应)的 Meta 分析[1]。它可对不同干预措施的治疗结果进行排序,并估计最佳干预措施的概率[2]。因此迅速得到包括英国、美国在内的各国卫生技术评估组织的认可和接受,其发文数量呈逐年递增趋势[3, 4]。然而目前网状 Meta 分析主要应用于基于随机对照试验的疗效评价,在诊断试验准确性评价方面非常少见。如同疾病的疗效干预问题,疾病诊断也存在多种诊断试验技术选择难的问题。我们先前的文章引入了诊断试验准确性网状 Meta 分析(network meta-analysis of diagnostic test accuracy,DTA-NMA)的概念、必要性和目前可以实现 DTA-NMA 的方法。2016 年,Nyaga 等[5]设计了 ANOVA 模型来实现基于贝叶斯方法的 DTA-NMA,其核心思想是通过计算诊断准确性指标的相对比值来比较不同诊断试验的准确性。同时该模型合并了 Deutsch 等[6]提出的优势指数板块,可以用于 DTA-NMA 的排序。本文结合具体案例,介绍在 R 软件中基于 ANOVA 模型实现贝叶斯 DTA-NMA 的步骤。
1 案例解读
以杨品等[7]的研究为数据来源(表 1),基于共同的金标准,比较 PET/CT、增强 CT 和两者结合对胰腺癌的诊断价值。原文得出的结果为:以手术或组织活检病理、临床及其他影像随访为金标准,PET/CT 诊断胰腺癌的合并敏感度、特异度和诊断比值比分别为[0.93,95% CI(0.89,0.95);0.76,95%CI(0.67,0.83);35.18,95%CI(20.05,61.72)];增强 CT 的合并敏感度、特异度和诊断比值比分别为[0.80,95%CI(0.75,0.84);0.66,95%CI(0.57,0.75);7.86,95%CI(5.03,12.29)];PET/CT 联合增强 CT 的合并敏感度、特异度和诊断比值比分别为[0.98,95% CI(0.94,0.99);0.90,95%CI(0.81,0.96);250.08,95%CI(80.74,774.64)]。

2 ANOVA 模型实现贝叶斯 DTA-NMA
2.1 ANOVA 模型简介
基于双向 ANOVA 模型,使用两个独立的二项分布描述患者和健康受试者之间的真阳性和真阴性,同时考虑了敏感度和特异度之间的关联性。假设存在 K 个待评价试验和 I 个研究,评价 2 个待评价试验的称为“双臂”,评价 2 个以上的为“多臂”研究。在某一个研究 i 中,(Yi1k,Yi2k)分别指真阳性和真阴性,(Ni1k,Ni2k)为患者和健康受试者,(πi1k,πi2k)分别为“未观察到的”敏感度和特异度,描述患者和健康受试者之间的真阳性和真阴性的二项分布如下:
![]() |
其中 xi 指影响 πijk 的协变量。
2.2 R 软件和程序包的安装和加载
R 软件为完全免费软件,在浏览器中输入 https://cran.r-project.org/mirrors.html,选择任一镜像(如中国北京镜像),点击进入 http://mirror. bjtu.edu.cn/cran,根据电脑操作系统选择相应的 R 安装程序(基本模块)(如“Download R for Windows”),单击右键“另存为”安装即可。目前可以获得的最新版本为 R-3.3.3。
此外,还需要安装 Stan 程序包,具体命令为:install.packages(“rstan”)。在弹出的对话框中选择某个镜像(CRAN)安装,安装完成后再由 library(“rstan”)命令完成加载。目前可以获得的最新版本为 rstan-2.14.2。
2.3 数据预处理
对表 1 的数据需要进行预处理,见表 2。表中 Dis 为金标准确诊的患者人数,NDis 是金标准排除的其他人群人数,Test 1、2、3 即依次为增强 CT、PET/CT 联合增强 CT 和 PET/CT。

2.4 数据读取
R 软件的数据读取方法多样,本文选用剪切板读取数据。启动 R 软件之后,在其交互界面输入 data<-read.delim("clipboard")读取表 2 的数据。若要查看录入的数据,输入“print(network)”命令即可。
2.5 运行 ANOVA 模型
ANOVA 模型的代码可以在原文获取,如下:
model = "
data{
int N;
int Nt;
int Ns;
int TP[N];
int Dis[N];
int TN[N];
int NDis[N];
int Study[N];
int Test[N];
}
transformed data{
vector[2] zero;
zero[1] <- 0;
zero[2] <- 0;
}
parameters{
matrix[2,Nt] logitmu;
matrix[2,Nt] Multi;
matrix[Ns,2] nu;
matrix[Ns,2] delta[Nt];
vector<lower=0>[2] sigmaw;
vector<lower=0>[2] sigmab;
real etarho;
}
transformed parameters{
matrix[2,Nt] MU;
matrix[2,Nt] RR;
matrix[2,Nt] OR;
vector[Nt] DOR;
vector[Nt] S;
matrix[Nt,Nt] A;
matrix[Nt,Nt] B;
matrix[Nt,Nt] C;
matrix[Ns,2] p_i[Nt];
vector<lower=0>[2] sigmawsq;
vector<lower=0>[2] sigmabsq;
vector<lower=0>[2] sigmasq;
real rho;
vector[2] rhow;
matrix[2, 2] Sigma;
for (i in 1:Ns){
for (j in 1:2){
for (k in 1:Nt)
p_i[k][i,j] <- inv_logit(logitmu[j,k] + nu[i,j] + delta[k][i,j]);
}}
for (j in 1:2){
for (k in 1:Nt){
MU[j,k] <- mean(col(p_i[k],j));
}}
for (j in 1:2){
for (k in 1:Nt){
RR[j,k] <- MU[j,k]/MU[j,Nt];
OR[j,k] <- (MU[j,k]/(1 - MU[j,k]))/(MU[j,1]/(1 - MU[j,1]));
}}
for (l in 1:Nt){
DOR[l] <- (MU[1,l]*MU[2,l])/((1 - MU[1,l])*(1 - MU[2,l]));
for(m in 1:Nt){
A[l,m] <- if_else((MU[1,l] > MU[1,m]) && (MU[2,l] > MU[2,m]),1,0);
B[l,m] <- if_else((MU[1,l] < MU[1,m]) && (MU[2,l] < MU[2,m]),1,0);
C[l,m] <- if_else((MU[1,l] == MU[1,m]) && (MU[2,l] == MU[2,m]),1,0);
}
S[l] <- (2*sum(row(A,l)) + sum(row(C,l)))/(2*sum(row(B,l)) + sum(row(C,l)));
}
rho <- tanh(etarho);
sigmawsq <- (sigmaw).*(sigmaw);
sigmabsq <- (sigmab).*(sigmab);
for (j in 1:2){
sigmasq[j] <- (sigmabsq[j] + sigmawsq[j]);
rhow[j] <- sigmabsq[j]/(sigmasq[j]);
}
Sigma[1, 1] <- sigmabsq[1];
Sigma[2, 2] <- sigmabsq[2];
Sigma[1, 2] <- rho*sigmab[1]*sigmab[2];
Sigma[2, 1] <- rho*sigmab[1]*sigmab[2];
}
model{
//Priors
for (i in 1:Ns){
nu[i] ~ multi_normal(zero,Sigma);
}
for (j in 1:2){
logitmu[j] ~ normal(0,5);
Multi[j] ~ normal(0,5);
}
sigmaw ~ uniform(0,5);
sigmab ~ uniform(0,5);
etarho ~ normal(0,5);
for (i in 1:Ns){
for (j in 1:2){
for (k in 1:Nt)
delta[k][i,j] ~ normal(0,sigmaw[j]);
}}
for (n in 1:N){
TP[n] ~ binomial(Dis[n],p_i[Test[n]][Study[n],1]);
TN[n] ~ binomial(NDis[n],p_i[Test[n]][Study[n],2]);
}}
generated quantities{
vector[2*N] loglik;
for (n in 1:N)
loglik[n] <- binomial_log(TN[n],NDis[n],p_i[Test[n]][Study[n],1]);
for (n in (N+1):(2*N))
loglik[n] <- binomial_log(TN[n-N],NDis[n-N],p_i[Test[n-N]][Study[n-N],2]);
}"
2.6 数据与模型关联
在 R 软件的交互窗口输入以上代码后,需要依次输入以下命令分别读取数据表 2 中的数据:
N <- nrow(data) # 数据表中观察数量
Ns <- max(data$Study) # 纳入分析研究数量
Nt <- max(data$Test) # 诊断试验数量
datalist <- list(
N = N,
Ns = Ns,
Nt = Nt,
TP = data$TP,
Dis = data$Dis,
TN = data$TN,
NDis = data$NDis,
Test = data$Test,
Study = data$Study)
2.7 设置模型并进行数据分析
ANOVA 模型需要加载 rstan 进行贝叶斯计算,可以输入“results <- stan(model_code = model,data=datalist,chains = 2,iter = 10000,warmup = 1000,thin = 5)”进行结果计算,其中,“chains”为蒙特卡洛链条数,“warmup”为预迭代次数,“iter”为迭代运算次数,“thin”为步长。命令运行过程见图 1。与贝叶斯方法相关的初始链条的设置、迭代次数、收敛性的评估等请参考干预类贝叶斯网状 Meta 分析,本文不再赘述。

2.8 查看结果与结果解读
输入“print(results)”命令后查看网状 Meta 分析结果,部分结果如图 2。图中“mean”为抽样结果的平均值;“se_mean”为抽样结果的平均值的标准误;“sd”为标准差;“2.5%、25%、50%、75%、97.5%”分别代表相应的可信区间;“Rhat”为贝叶斯收敛性的判断,其值越接近 1,说明模型收敛性越好。“MU”即为计算出来的效应量,“MU[1,1]”代表诊断试验 1 的敏感度,“MU[2,1]”代表诊断试验 1 的特异度,RR 值即为相对效应值,如“RR[1,1]”即为相对于诊断试验 3,诊断试验 1 的相对敏感度,“S”为优势指数,用于排序诊断试验,S 值越大,提示诊断试验排序越靠前。以上案例的 ANOVA 模型计算结果见表 3。

由表 3 可知,ANOVA 模型计算出来的结果与原文报告基本一致,表 3 提供了相对敏感度(RSEN)、相对特异度(RSPE)和诊断试验排序结果(优势指数),结果提示 PRT/CT 联合增强 CT 排序第一,诊断准确性优于其他两种技术。

3 小结
随着诊断性试验技术的发展,越来越多的诊断技术被应用于临床,势必会对临床诊断带来巨大的挑战。在诊断试验中借鉴干预类网状 Meta 分析的方法可以为临床诊断提供有价值的判断信息。尽管既往已有少量的诊断试验 Meta 分析尝试采用间接比较,但在 2014 年第八届亚太地区循证医学研讨会上我们首次公开提出了诊断试验 Meta 分析间接比较的思想和方法。直到 2016 年,Nyaga 等[5]首次设计了 ANOVA 模型,可为实现诊断试验准确性的网状 Meta 分析提供统计学方法。该方法还可通过计算优势指数对诊断试验进行排序,相对于基于诊断比值比的排序方法,该方法综合考虑了敏感度和特异度,尤其针对高敏感度、低特异度或低敏感度、高特异度的诊断试验较诊断比值比有优势。然而采用该方法执行网状 Meta 分析只能提供敏感度、特异度、诊断比值比、相对敏感度、相对特异度和诊断优势指数的结果,如欲计算其他的诊断指标,尚待进一步的研究。
网状 Meta 分析的三个统计学基础包括相似性、同质性和一致性,在以上介绍的模型中,并不能提供异质性和一致性检验的结果,因此采用以上方法制作诊断试验准确性网状 Meta 分析时,还应当借助其他软件,比如Meta-Disc 或 STATA 软件对纳入试验的异质性进行判断。此外,原文作者也提到,以上模型均假定纳入分析的所有受试者存在共同的阈值效应;当试验间存在不同的阈值效应时,以上的假定可能是无效的。
我们基于 Nyaga 等[5]提出的 ANOVA 模型,简要地介绍了在 R 软件中实现诊断准确性试验网状 Meta 分析的步骤,主要是为国内拟进行相关研究的学者提供参考。目前诊断试验网状 Meta 分析的理论和方法尚不成熟,针对诊断试验网状 Meta 分析的软件也有待进一步的研发。故相关研究学者在使用该方法进行诊断试验网状 Meta 分析时,应当谨慎解释研究结果。
网状 Meta 分析(Network meta-analysis),即为基于多个研究分析两个以上处理因素的间接比较结果(主要是调整间接比较)或者直接比较结果与间接比较结果的合并结果(混合治疗效应)的 Meta 分析[1]。它可对不同干预措施的治疗结果进行排序,并估计最佳干预措施的概率[2]。因此迅速得到包括英国、美国在内的各国卫生技术评估组织的认可和接受,其发文数量呈逐年递增趋势[3, 4]。然而目前网状 Meta 分析主要应用于基于随机对照试验的疗效评价,在诊断试验准确性评价方面非常少见。如同疾病的疗效干预问题,疾病诊断也存在多种诊断试验技术选择难的问题。我们先前的文章引入了诊断试验准确性网状 Meta 分析(network meta-analysis of diagnostic test accuracy,DTA-NMA)的概念、必要性和目前可以实现 DTA-NMA 的方法。2016 年,Nyaga 等[5]设计了 ANOVA 模型来实现基于贝叶斯方法的 DTA-NMA,其核心思想是通过计算诊断准确性指标的相对比值来比较不同诊断试验的准确性。同时该模型合并了 Deutsch 等[6]提出的优势指数板块,可以用于 DTA-NMA 的排序。本文结合具体案例,介绍在 R 软件中基于 ANOVA 模型实现贝叶斯 DTA-NMA 的步骤。
1 案例解读
以杨品等[7]的研究为数据来源(表 1),基于共同的金标准,比较 PET/CT、增强 CT 和两者结合对胰腺癌的诊断价值。原文得出的结果为:以手术或组织活检病理、临床及其他影像随访为金标准,PET/CT 诊断胰腺癌的合并敏感度、特异度和诊断比值比分别为[0.93,95% CI(0.89,0.95);0.76,95%CI(0.67,0.83);35.18,95%CI(20.05,61.72)];增强 CT 的合并敏感度、特异度和诊断比值比分别为[0.80,95%CI(0.75,0.84);0.66,95%CI(0.57,0.75);7.86,95%CI(5.03,12.29)];PET/CT 联合增强 CT 的合并敏感度、特异度和诊断比值比分别为[0.98,95% CI(0.94,0.99);0.90,95%CI(0.81,0.96);250.08,95%CI(80.74,774.64)]。

2 ANOVA 模型实现贝叶斯 DTA-NMA
2.1 ANOVA 模型简介
基于双向 ANOVA 模型,使用两个独立的二项分布描述患者和健康受试者之间的真阳性和真阴性,同时考虑了敏感度和特异度之间的关联性。假设存在 K 个待评价试验和 I 个研究,评价 2 个待评价试验的称为“双臂”,评价 2 个以上的为“多臂”研究。在某一个研究 i 中,(Yi1k,Yi2k)分别指真阳性和真阴性,(Ni1k,Ni2k)为患者和健康受试者,(πi1k,πi2k)分别为“未观察到的”敏感度和特异度,描述患者和健康受试者之间的真阳性和真阴性的二项分布如下:
![]() |
其中 xi 指影响 πijk 的协变量。
2.2 R 软件和程序包的安装和加载
R 软件为完全免费软件,在浏览器中输入 https://cran.r-project.org/mirrors.html,选择任一镜像(如中国北京镜像),点击进入 http://mirror. bjtu.edu.cn/cran,根据电脑操作系统选择相应的 R 安装程序(基本模块)(如“Download R for Windows”),单击右键“另存为”安装即可。目前可以获得的最新版本为 R-3.3.3。
此外,还需要安装 Stan 程序包,具体命令为:install.packages(“rstan”)。在弹出的对话框中选择某个镜像(CRAN)安装,安装完成后再由 library(“rstan”)命令完成加载。目前可以获得的最新版本为 rstan-2.14.2。
2.3 数据预处理
对表 1 的数据需要进行预处理,见表 2。表中 Dis 为金标准确诊的患者人数,NDis 是金标准排除的其他人群人数,Test 1、2、3 即依次为增强 CT、PET/CT 联合增强 CT 和 PET/CT。

2.4 数据读取
R 软件的数据读取方法多样,本文选用剪切板读取数据。启动 R 软件之后,在其交互界面输入 data<-read.delim("clipboard")读取表 2 的数据。若要查看录入的数据,输入“print(network)”命令即可。
2.5 运行 ANOVA 模型
ANOVA 模型的代码可以在原文获取,如下:
model = "
data{
int N;
int Nt;
int Ns;
int TP[N];
int Dis[N];
int TN[N];
int NDis[N];
int Study[N];
int Test[N];
}
transformed data{
vector[2] zero;
zero[1] <- 0;
zero[2] <- 0;
}
parameters{
matrix[2,Nt] logitmu;
matrix[2,Nt] Multi;
matrix[Ns,2] nu;
matrix[Ns,2] delta[Nt];
vector<lower=0>[2] sigmaw;
vector<lower=0>[2] sigmab;
real etarho;
}
transformed parameters{
matrix[2,Nt] MU;
matrix[2,Nt] RR;
matrix[2,Nt] OR;
vector[Nt] DOR;
vector[Nt] S;
matrix[Nt,Nt] A;
matrix[Nt,Nt] B;
matrix[Nt,Nt] C;
matrix[Ns,2] p_i[Nt];
vector<lower=0>[2] sigmawsq;
vector<lower=0>[2] sigmabsq;
vector<lower=0>[2] sigmasq;
real rho;
vector[2] rhow;
matrix[2, 2] Sigma;
for (i in 1:Ns){
for (j in 1:2){
for (k in 1:Nt)
p_i[k][i,j] <- inv_logit(logitmu[j,k] + nu[i,j] + delta[k][i,j]);
}}
for (j in 1:2){
for (k in 1:Nt){
MU[j,k] <- mean(col(p_i[k],j));
}}
for (j in 1:2){
for (k in 1:Nt){
RR[j,k] <- MU[j,k]/MU[j,Nt];
OR[j,k] <- (MU[j,k]/(1 - MU[j,k]))/(MU[j,1]/(1 - MU[j,1]));
}}
for (l in 1:Nt){
DOR[l] <- (MU[1,l]*MU[2,l])/((1 - MU[1,l])*(1 - MU[2,l]));
for(m in 1:Nt){
A[l,m] <- if_else((MU[1,l] > MU[1,m]) && (MU[2,l] > MU[2,m]),1,0);
B[l,m] <- if_else((MU[1,l] < MU[1,m]) && (MU[2,l] < MU[2,m]),1,0);
C[l,m] <- if_else((MU[1,l] == MU[1,m]) && (MU[2,l] == MU[2,m]),1,0);
}
S[l] <- (2*sum(row(A,l)) + sum(row(C,l)))/(2*sum(row(B,l)) + sum(row(C,l)));
}
rho <- tanh(etarho);
sigmawsq <- (sigmaw).*(sigmaw);
sigmabsq <- (sigmab).*(sigmab);
for (j in 1:2){
sigmasq[j] <- (sigmabsq[j] + sigmawsq[j]);
rhow[j] <- sigmabsq[j]/(sigmasq[j]);
}
Sigma[1, 1] <- sigmabsq[1];
Sigma[2, 2] <- sigmabsq[2];
Sigma[1, 2] <- rho*sigmab[1]*sigmab[2];
Sigma[2, 1] <- rho*sigmab[1]*sigmab[2];
}
model{
//Priors
for (i in 1:Ns){
nu[i] ~ multi_normal(zero,Sigma);
}
for (j in 1:2){
logitmu[j] ~ normal(0,5);
Multi[j] ~ normal(0,5);
}
sigmaw ~ uniform(0,5);
sigmab ~ uniform(0,5);
etarho ~ normal(0,5);
for (i in 1:Ns){
for (j in 1:2){
for (k in 1:Nt)
delta[k][i,j] ~ normal(0,sigmaw[j]);
}}
for (n in 1:N){
TP[n] ~ binomial(Dis[n],p_i[Test[n]][Study[n],1]);
TN[n] ~ binomial(NDis[n],p_i[Test[n]][Study[n],2]);
}}
generated quantities{
vector[2*N] loglik;
for (n in 1:N)
loglik[n] <- binomial_log(TN[n],NDis[n],p_i[Test[n]][Study[n],1]);
for (n in (N+1):(2*N))
loglik[n] <- binomial_log(TN[n-N],NDis[n-N],p_i[Test[n-N]][Study[n-N],2]);
}"
2.6 数据与模型关联
在 R 软件的交互窗口输入以上代码后,需要依次输入以下命令分别读取数据表 2 中的数据:
N <- nrow(data) # 数据表中观察数量
Ns <- max(data$Study) # 纳入分析研究数量
Nt <- max(data$Test) # 诊断试验数量
datalist <- list(
N = N,
Ns = Ns,
Nt = Nt,
TP = data$TP,
Dis = data$Dis,
TN = data$TN,
NDis = data$NDis,
Test = data$Test,
Study = data$Study)
2.7 设置模型并进行数据分析
ANOVA 模型需要加载 rstan 进行贝叶斯计算,可以输入“results <- stan(model_code = model,data=datalist,chains = 2,iter = 10000,warmup = 1000,thin = 5)”进行结果计算,其中,“chains”为蒙特卡洛链条数,“warmup”为预迭代次数,“iter”为迭代运算次数,“thin”为步长。命令运行过程见图 1。与贝叶斯方法相关的初始链条的设置、迭代次数、收敛性的评估等请参考干预类贝叶斯网状 Meta 分析,本文不再赘述。

2.8 查看结果与结果解读
输入“print(results)”命令后查看网状 Meta 分析结果,部分结果如图 2。图中“mean”为抽样结果的平均值;“se_mean”为抽样结果的平均值的标准误;“sd”为标准差;“2.5%、25%、50%、75%、97.5%”分别代表相应的可信区间;“Rhat”为贝叶斯收敛性的判断,其值越接近 1,说明模型收敛性越好。“MU”即为计算出来的效应量,“MU[1,1]”代表诊断试验 1 的敏感度,“MU[2,1]”代表诊断试验 1 的特异度,RR 值即为相对效应值,如“RR[1,1]”即为相对于诊断试验 3,诊断试验 1 的相对敏感度,“S”为优势指数,用于排序诊断试验,S 值越大,提示诊断试验排序越靠前。以上案例的 ANOVA 模型计算结果见表 3。

由表 3 可知,ANOVA 模型计算出来的结果与原文报告基本一致,表 3 提供了相对敏感度(RSEN)、相对特异度(RSPE)和诊断试验排序结果(优势指数),结果提示 PRT/CT 联合增强 CT 排序第一,诊断准确性优于其他两种技术。

3 小结
随着诊断性试验技术的发展,越来越多的诊断技术被应用于临床,势必会对临床诊断带来巨大的挑战。在诊断试验中借鉴干预类网状 Meta 分析的方法可以为临床诊断提供有价值的判断信息。尽管既往已有少量的诊断试验 Meta 分析尝试采用间接比较,但在 2014 年第八届亚太地区循证医学研讨会上我们首次公开提出了诊断试验 Meta 分析间接比较的思想和方法。直到 2016 年,Nyaga 等[5]首次设计了 ANOVA 模型,可为实现诊断试验准确性的网状 Meta 分析提供统计学方法。该方法还可通过计算优势指数对诊断试验进行排序,相对于基于诊断比值比的排序方法,该方法综合考虑了敏感度和特异度,尤其针对高敏感度、低特异度或低敏感度、高特异度的诊断试验较诊断比值比有优势。然而采用该方法执行网状 Meta 分析只能提供敏感度、特异度、诊断比值比、相对敏感度、相对特异度和诊断优势指数的结果,如欲计算其他的诊断指标,尚待进一步的研究。
网状 Meta 分析的三个统计学基础包括相似性、同质性和一致性,在以上介绍的模型中,并不能提供异质性和一致性检验的结果,因此采用以上方法制作诊断试验准确性网状 Meta 分析时,还应当借助其他软件,比如Meta-Disc 或 STATA 软件对纳入试验的异质性进行判断。此外,原文作者也提到,以上模型均假定纳入分析的所有受试者存在共同的阈值效应;当试验间存在不同的阈值效应时,以上的假定可能是无效的。
我们基于 Nyaga 等[5]提出的 ANOVA 模型,简要地介绍了在 R 软件中实现诊断准确性试验网状 Meta 分析的步骤,主要是为国内拟进行相关研究的学者提供参考。目前诊断试验网状 Meta 分析的理论和方法尚不成熟,针对诊断试验网状 Meta 分析的软件也有待进一步的研发。故相关研究学者在使用该方法进行诊断试验网状 Meta 分析时,应当谨慎解释研究结果。