meta.dt {altmeta}R Documentation

Meta-Analysis of Diagnostic Tests

Description

Performs a meta-analysis of diagnostic tests using approaches described in Reitsma et al. (2005) and Chu and Cole (2006).

Usage

meta.dt(tp, fp, fn, tn, data, method = "biv.glmm", alpha = 0.05, ...)

Arguments

tp

counts of true positives.

fp

counts of false positives.

fn

counts of false negatives.

tn

counts of true negatives.

data

an optional data frame containing the meta-analysis dataset. If data is specified, the previous arguments, tp, fp, fn, and tn, should be specified as their corresponding column names in data.

method

a character string specifying the method used to implement the meta-analysis of diagnostic tests. It should be one of "s.roc" (summary ROC approach), "biv.lmm" (bivariate linear mixed model), and "biv.glmm" (bivariate generalized linear mixed model, the default). See details.

alpha

a numeric value specifying the statistical significance level.

...

other arguments that can be passed to the function lm (when method = "s.roc"), the function rma.mv in the package metafor (when method = "biv.lmm"), or the function glmer in the package lme4 (when method = "biv.glmm").

Details

Suppose a meta-analysis of diagnostic tests contains N studies. Each study reports the counts of true positives, false positives, false negatives, and true negatives, denoted by TP_i, FP_i, FN_i, and TN_i, respectively. The study-specific estimates of sensitivity and specificity are calculated as Se_i = TP_i/(TP_i + FN_i) and Sp_i = TN_i/(FP_i + TN_i) for i = 1, \cdots, N. They are analyzed on the logarithmic scale in the meta-analysis. When using the summary ROC (receiver operating characteristic) approach or the bivariate linear mixed model, 0.5 needs to be added to all four counts in a study when at least one count is zero.

The summary ROC approach first calculates

D_i = \log \left( \frac{Se_i}{1 - Se_i} \right) + \log \left( \frac{Sp_i}{1 - Sp_i} \right);

S_i = \log \left( \frac{Se_i}{1 - Se_i} \right) - \log \left( \frac{Sp_i}{1 - Sp_i} \right),

where D_i represents the log diagnostic odds ratio (DOR) in study i. A linear regression is then fitted:

D_i = \alpha + \beta \cdot S_i.

The regression could be either unweighted or weighted; this function performs both versions. If weighted, the study-specific weights are the inverse of the variances of D_i, i.e., 1/TP_i + 1/FP_i + 1/FN_i + 1/TN_i. Based on the estimated regression intercept \hat{\alpha} and slope \hat{\beta}, one may obtain the DOR at mean of S_i, Q point, summary ROC curve, and area under the curve (AUC). The Q point is the point on the summary ROC curve where sensitivity and specificity are equal. The ROC curve is given by

Se = \left\{ 1 + e^{-\hat{\alpha}/(1 - \hat{\beta})} \cdot [Sp/(1 - Sp)]^{(1 + \hat{\beta})/(1 - \hat{\beta})} \right\}^{-1}.

See more details of the summary ROC approach in Moses et al. (1993) and Irwig et al. (1995).

The bivariate linear mixed model described in Reitsma et al. (2005) assumes that the logit sensitivity and logit specificity independently follow normal distributions within each study: g(Se_i) \sim N(\theta_{i, Se}, s_{i, Se}^2) and g(Sp_i) \sim N(\theta_{i, Sp}, s_{i, Sp}^2), where g(\cdot) denotes the logit function. The within-study variances are calculated as s_{i, Se}^2 = 1/TP_i + 1/FN_i and s_{i, Sp}^2 = 1/FP_i + 1/TN_i. The parameters \theta_{i, Se} and \theta_{i, Sp} are the underlying true sensitivity and specificity (on the logit scale) in study i. They are assumed to be random effects, jointly following a bivariate normal distribution:

\left(\theta_{i, Se}, \theta_{i, Sp}\right)^\prime \sim N\left((\mu_{Se}, \mu_{Sp})^\prime, \mathbf{\Sigma} \right),

where \mathbf{\Sigma} is the between-study variance-covariance matrix. The diagonal elements of \mathbf{\Sigma} are \sigma_{Se}^2 and \sigma_{Sp}^2, representing the heterogeneity variances of sensitivities and specificities (on the logit scale), respectively. The correlation coefficient is \rho.

The bivariate generalized linear mixed model described in Chu and Cole (2006) refines the bivariate linear mixed model by directly modeling the counts of true positives and true negatives. This approach does not require the assumption that the logit sensitivity and logit specificity approximately follow normal distributions within studies, which could be seriously violated in the presence of small data counts. It also avoids corrections for zero counts. Specificially, the counts of true positives and true negatives are modeled using binomial likelihoods:

TP_i \sim Bin(TP_i + FN_i, Se_i);

TN_i \sim Bin(FP_i + TN_i, Sp_i);

\left( g(Se_i), g(Sp_i) \right)^\prime \sim N\left((\mu_{Se}, \mu_{Sp})^\prime, \mathbf{\Sigma} \right).

See more details in Chu and Cole (2006) and Ma et al. (2016).

For both the bivariate linear mixed model and bivariate generalized linear mixed model, \mu_{Se} and \mu_{Sp} represent the overall sensitivity and specificity (on the logit scale) across studies, respectively, and \mu_{Se} + \mu_{Sp} represents the log DOR. The summary ROC curve may be constructed as

Se = \left\{ 1 + e^{-\hat{\mu}_{Se} + \hat{\mu}_{Sp} \cdot \hat{\rho} \hat{\sigma}_{Se}/\hat{\sigma}_{Sp}} \cdot [Sp/(1 - Sp)]^{-\rho \hat{\sigma}_{Se}/\hat{\sigma}_{Sp}} \right\}^{-1}.

Value

This function returns a list of the meta-analysis results. When method = "s.roc", the list consists of the regression intercept (inter.unwtd), slope (slope.unwtd), their variance-covariance matrix (vcov.unwtd), DOR at mean of S_i (DOR.meanS.unwtd) with its confidence interval (DOR.meanS.unwtd.ci), Q point (Q.unwtd) with its confidence interval (Q.unwtd.ci), and AUC (AUC.unwtd) for the unweighted regression; it also consists of the counterparts for the weighted regression. When method = "biv.lmm" or "biv.glmm", the list consists of the overall sensitivity (sens.overall) with its confidence interval (sens.overall.ci), overall specificity (spec.overall) with its confidence interval (spec.overall.ci), overall DOR (DOR.overall) with its confidence interval (DOR.overall.ci), AUC (AUC), estimated \mu_{Se} (mu.sens), \mu_{Sp} (mu.spec), their variance-covariance matrix (mu.vcov), estimated \sigma_{Se} (sig.sens), \sigma_{Sp} (sig.spec), and \rho (rho). In addition, the list includes the method used to perform the meta-analysis of diagnostic tests (method), significance level (alpha), and original data (data).

Note

The original articles by Reitsma et al. (2005) and Chu and Cole (2006) used SAS to implement (generalized) linear mixed models (specifically, PROC MIXED and PROC NLMIXED); this function imports rma.mv from the package metafor and glmer from the package lme4 for implementing these models. The estimation approaches adopted in SAS and the R packages metafor and lme4 may differ, which may impact the results. See, for example, Zhang et al. (2011).

Author(s)

Lifeng Lin, Kristine J. Rosenberger

References

Chu H, Cole SR (2006). "Bivariate meta-analysis of sensitivity and specificity with sparse data: a generalized linear mixed model approach." Journal of Clinical Epidemiology, 59(12), 1331–1332. <doi: 10.1016/j.jclinepi.2006.06.011>

Irwig L, Macaskill P, Glasziou P, Fahey M (1995). "Meta-analytic methods for diagnostic test accuracy." Journal of Clinical Epidemiology, 48(1), 119–130. <doi: 10.1016/0895-4356(94)00099-C>

Ma X, Nie L, Cole SR, Chu H (2016). "Statistical methods for multivariate meta-analysis of diagnostic tests: an overview and tutorial." Statistical Methods in Medical Research, 25(4), 1596–1619. <doi: 10.1177/0962280213492588>

Moses LE, Shapiro D, Littenberg B (1993). "Combining independent studies of a diagnostic test into a summary ROC curve: data-analytic approaches and some additional considerations." Statistics in Medicine, 12(14), 1293–1316. <doi: 10.1002/sim.4780121403>

Reitsma JB, Glas AS, Rutjes AWS, Scholten RJPM, Bossuyt PM, Zwinderman AH (2005). "Bivariate analysis of sensitivity and specificity produces informative summary measures in diagnostic reviews." Journal of Clinical Epidemiology, 58(10), 982–990. <doi: 10.1016/j.jclinepi.2005.02.022>

Zhang H, Lu N, Feng C, Thurston SW, Xia Y, Zhu L, Tu XM (2011). "On fitting generalized linear mixed-effects models for binary responses using different statistical packages." Statistics in Medicine, 30(20), 2562–2572. <doi: 10.1002/sim.4265>

See Also

maprop.twostep, meta.biv, plot.meta.dt, print.meta.dt

Examples

data("dat.scheidler")
out1 <- meta.dt(tp, fp, fn, tn, data = dat.scheidler[dat.scheidler$dt == "MRI",],
  method = "s.roc")
out1
plot(out1)
out2 <- meta.dt(tp, fp, fn, tn, data = dat.scheidler[dat.scheidler$dt == "MRI",],
  method = "biv.lmm")
out2
plot(out2, predict = TRUE)
out3 <- meta.dt(tp, fp, fn, tn, data = dat.scheidler[dat.scheidler$dt == "MRI",],
  method = "biv.glmm")
out3
plot(out3, add = TRUE, studies = FALSE,
  col.roc = "blue", col.overall = "blue", col.confid = "blue",
  predict = TRUE,col.predict = "blue")

data("dat.smith")
out4 <- meta.dt(tp, fp, fn, tn, data = dat.smith, method = "biv.glmm")
out4
plot(out4, predict = TRUE)

[Package altmeta version 4.1 Index]