This function fits the alternative model for bivariate random-effects meta-analysis when the within-study correlations
are unknown. This bivariate model was proposed by Riley et al. (2008) and is similar to the general bivariate
random-effects model (van Houwelingen et al. 2002), but includes an overall correlation parameter rather than
separating the (usually unknown) within- and between-study correlation. As a consequence, the alternative model
is not fully hierarchical, and estimates of additional variation beyond sampling error (psi
) are not
directly equivalent to the between-study variation (tau
) from the general model. This model is particularly
useful when there is large within-study variability, few primary studies are available or the general model
estimates the between-study correlation as 1 or -1.
Usage
riley(X, slab, optimization = "Nelder-Mead", control = list(), pars, ...)
Arguments
- X
data frame containing integer variables
Y1
,vars1
,Y2
andvars2
, where the columnsY1
andY2
represent the effect sizes of outcome 1 and, respectively, outcome 2. The columnsvars1
andvars2
represent the error variances ofY1
and, respectively,Y2
. Alternatively, when considering a meta-analysis of diagnostic test accuracy data, the columnsTP
,FN
,FP
andTN
may be specified. Corresponding values then represent the number of true positives, the number of false negatives, the number of false positives and, respectively, the number of true negatives.- slab
Optional vector specifying the label for each study
- optimization
The optimization method that should be used for minimizing the negative (restricted) log-likelihood function. The default method is an implementation of that of Nelder and Mead (1965), that uses only function values and is robust but relatively slow. Other methods are described in optim.
- control
A list of control parameters to pass to optim.
- pars
List with additional arguments. The width of confidence, credibility and prediction intervals is defined by
level
(defaults to 0.95).- ...
Arguments to be passed on to other functions. See "Details" for more information.
Value
An object of the class riley
for which many standard methods are available. A warning message is
casted when the Hessian matrix contains negative eigenvalues, which implies that the identified solution is a
saddle point and thus not optimal.
Details
Parameters are estimated by iteratively maximizing the restriced log-likelihood using the Newton-Raphson procedure.
The results from a univariate random-effects meta-analysis with a method-of-moments estimator are used as starting
values for beta1
, beta2
, psi1
and psi2
in the optim
command. Standard errors for all parameters are obtained
from the inverse Hessian matrix.
Meta-analysis of effect sizes
The following parameters are estimated by iteratively maximizing the restriced log-likelihood using the Newton-Raphson
procedure: pooled effect size for outcome 1 (beta1
), pooled effect size for outcome 2 (beta2
),
additional variation of beta1
beyond sampling error (psi1
), additional variation of beta2
beyond sampling error (psi2
) and the correlation rho
between psi1
and psi2
.
Meta-analysis of diagnostic test accuracy
Although the model can also be used for diagnostic test accuracy data when substantial within-study correlations are expected, assuming zero within-study correlations (i.e. applying Reitsma's approach) is usually justified (Reitsma et al. 2005, Daniels and Hughes 1997, Korn et al. 2005, Thompson et al. 2005, Van Houwelingen et al. 2002).
A logit transformation is applied to the sensitivities ans false positive rates of each study, in order to meet the normality
assumptions. When zero cell counts occur, continuity corrections may be required. The correction value can be specified using
correction
(defaults to 0.5). Further, when the argument correction.control
is set to "all"
(the default) the continuity correction is added to the whole data if only one cell in one study is zero.
If correction.control="single"
the correction is only applied to rows of the data which have a zero.
The following parameters are estimated: logit of sensitivity (beta1
), logit of false positive rate (beta2
),
additional variation of beta1
beyond sampling error (psi1
), additional variation of beta2
beyond
sampling error (psi2
) and the correlation (rho
) between psi1
and psi2
.
Note
The overall correlation parameter rho
is transformed during estimation to ensure that corresponding values
remain between -1 and 1. The transformed correlation rhoT
is given as logit((rho+1)/2)
. During optimization,
the starting value for rhoT
is set to 0. The standard error of rho
is derived from rhoT
using
the Delta method. Similarly, the Delta methods is used to derive the standard error of the sensitivity and false
positive rate from beta1
and, respectively, beta2
.
Algorithms for dealing with missing data are currently not implemented, but Bayesian approaches will become available in later versions.
References
Korn EL, Albert PS, McShane LM. Assessing surrogates as trial endpoints using mixed models. Statistics in Medicine 2005; 24: 163--182.
Nelder JA, Mead R. A simplex algorithm for function minimization. Computer Journal (1965); 7: 308--313.
Reitsma J, Glas A, Rutjes A, Scholten R, Bossuyt P, Zwinderman A. Bivariate analysis of sensitivity and specificity produces informative summary measures in diagnostic reviews. Journal of Clinical Epidemiology 2005; 58: 982--990.
Riley RD, Thompson JR, Abrams KR. An alternative model for bivariate random-effects meta-analysis when the within-study correlations are unknown. Biostatistics 2008; 9: 172--186.
Thompson JR, Minelli C, Abrams KR, Tobin MD, Riley RD. Meta-analysis of genetic studies using mendelian randomization--a multivariate approach. Statistics in Medicine 2005; 24: 2241--2254.
van Houwelingen HC, Arends LR, Stijnen T. Advanced methods in meta-analysis: multivariate approach and meta-regression. Statistics in Medicine 2002; 21: 589--624.
Examples
data(Scheidler)
data(Daniels)
data(Kertai)
# Meta-analysis of potential surrogate markers data
# The results obtained by Riley (2008) were as follows:
# beta1 = -0.042 (SE = 0.063),
# beta2 = 14.072 (SE = 4.871)
# rho = -0.759
if (FALSE) {
fit1 <- riley(Daniels) #maxit reached, try again with more iterations
}
fit1 <- riley(Daniels, control=list(maxit=10000))
summary(fit1)
#> $call
#> riley.default(X = Daniels, control = list(maxit = 10000))
#>
#> $confints
#> Estimate SE 2.5 % 97.5 %
#> beta1 0.005298983 0.06479973 -0.12170616 0.1323041
#> beta2 13.505678310 4.99256719 3.72042644 23.2909302
#> psi1 0.134785102 0.09190903 -0.04535329 0.3149235
#> psi2 18.076027226 4.00992798 10.21671280 25.9353417
#> rho -0.748689375 0.15266774 -0.89430728 -0.4596724
#>
#> attr(,"class")
#> [1] "summary.riley"
# Meta-analysis of prognostic test studies
fit2 <- riley(Kertai)
fit2
#> Call:
#> riley.default(X = Kertai)
#>
#> Coefficients
#> beta1 beta2 psi1 psi2 rho
#> 0.8164679 -0.9715821 0.3499043 0.7692122 0.1537878
#>
#> Degrees of Freedom: 9 Residual
# Meta-analysis of computed tomography data
ds <- Scheidler[which(Scheidler$modality==1),]
fit3 <- riley(ds)
fit3
#> Call:
#> riley.default(X = ds)
#>
#> Coefficients
#> beta1 beta2 psi1 psi2 rho
#> -0.01731291 -2.32166611 0.71181410 0.38103153 0.70119871
#>
#> Degrees of Freedom: 29 Residual