dosresmeta: Multivariate Dose-Response Meta-Analysis

Description Usage Arguments Details Value Author(s) References See Also Examples

Description

The function dosresmeta estimates a dose-response curve from either single or multiple summarized dose-response data, taking into account the correlation among observations and heterogeneity across studies. The function dosresmeta.fit is a wrapper for actual fitting functions based on different estimation methods, usually called internally. See dosresmeta-package for an overview.

Usage

1
2
3
4
5
6
dosresmeta(formula, id, v, type, cases, n, sd, data, mod = ~1,
  intercept = F, center = T, se, lb, ub, covariance = "gl",
  method = "reml", proc = "2stage", Slist, method.smd = "cohen",
  control = list())

dosresmeta.fit(X, Z, y, Slist, id, method, control, proc, mod, v, data)

Arguments

formula

an object of class "formula" offering a symbolic description of the dose-response functional relation. Terms in the formula can be provided in the data below.

id

an vector to specify the id variable for the studies included in the analysis. Optional if estimating a dose-response model from a single study.

v

a vector to specify the variances of the reported outcome. Alternatively the user can provide the standard error in the se argument, or only for log relative risks, the confidence interval in the lb and ub arguments.

type

an optional vector (or a string) required when the outcome is log relative risks. It specifies the study-specific design. The values for case-control, incidence-rate, and cumulative incidence data are cc, ir, and ci, respectively.

cases

a vector to specify the number of cases for each exposure level. Required to reconstruct the (co)variance matrix for log relative risks.

n

a vector to specify the total number of subjects for each exposure level. Required to reconstruct the (co)variance matrix for log relative risks. For incidence-rate data n indicates the amount of person-time for each exposure level.

sd

a vector to specify the standard deviation. Required to reconstruct the (co)variance matrix for differences and standardized mean differences.

data

a data frame (or object coercible by as.data.frame to a data frame) containing the variables in the previous arguments.

mod

an object of class "formula" offering a symbolic description of the meta-regression model (by default mod = ~ 1). Terms in the formula can be provided in the data below.

intercept

a logical value to specify if an intercept term needs to be included in the model. See details.

center

a logical value to specify if the design matrix need to be center at the referent ones. See details.

se

an optional vector to specify the standard error of the reported log relative risks; needed if v is not provided.

lb

an optional vector to specify the lower bound of the confidence interval for the reported relative risks; needed if v and se are not provided.

ub

an optional vector to specify the upper bound of the confidence interval for the reported relative risks; needed if v and se are not provided.

covariance

method to approximate the (co)variance matrix of the outcome. Options are "gl" for the method proposed by Greenland and Longnecker (default) , "h" for the method proposed by Hamling, "md" for mean differences, "smd" for standardized mean differences, and "user" if provided by the user.

method

method used to estimate the (pooled) dose-response relation: "fixed" for fixed-effects models, "ml" or "reml" for random-effects models fitted through (restricted) maximum likelihood, and "mm" for random-effects models fitted through method of moments (currently available only for the two stages procedure).

proc

"2stage" (default) or "1stage" procedure. See dosresmeta-package for an overview.

Slist

list of approximated or given (co)variance matrices.

method.smd

character string indicating the method to be used. Options are cohens, hedges, and glass. Required only if covariance equal "smd".

control

list of parameters for controlling the fitting process. These are passed to dosresmeta.control by dosresmeta.fit to replace otherwise selected default values.

X

processed design matrix of fixed effects.

Z

processed design matrix of random effects.

y

processed outcome vector.

Details

The function defines all the elements required to estimate a dose-response association taking into account the correlation among the observations. If the (co)variance matrix is not provided then it is approximated depending of the type of outcome specified through the covariance argument. The dose-response model is specified in the formula. Typically the outcome is expressed as a contrast to a reference exposure level, so that the model does not have an intercept and the values in the design matrix need to be centered at the referent values, as described by Qin Liu et al, 2009. This is internally done, respectively, when intercept = FALSE and center = TRUE (default values).

The function calls the wrapper dosresmeta.fit to perform the actual fitting. The latter prepares the data and calls specific fitting functions, depending on the chosen procedure and method. For the two stages procedure, the second part of the analysis is performed using the function mvmeta.fit from the mvmeta package. Different estimator are implemented in the package. The estimation options available are

The fitting procedure can be controlled through the additional terms specified in control, which are passed to the function dosresmeta.control.

Value

The dosresmeta function typically returns a list of object of class dosresmeta representing the meta-analytical model fit, as described in dosresmetaObject.

Author(s)

Alessio Crippa, alessio.crippa@ki.se

References

Greenland, S., Longnecker, M. P. (1992). Methods for trend estimation from summarized dose-response data, with applications to meta-analysis. American journal of epidemiology, 135(11), 1301-1309.

Orsini, N., Bellocco, R., Greenland, S. (2006). Generalized least squares for trend estimation of summarized dose-response data. Stata Journal, 6(1), 40.

Liu, Q., Cook, N. R., Bergstrom, A., Hsieh, C. C. (2009). A two-stage hierarchical regression model for meta-analysis of epidemiologic nonlinear dose-response data. Computational Statistics & Data Analysis, 53(12), 4157-4167.

Gasparrini, A., Armstrong, B., Kenward, M. G. (2012). Multivariate meta-analysis for non-linear and other multi-parameter associations. Statistics in Medicine, 31(29), 3821-3839.

See Also

dosresmeta-package, mvmeta, covar.logrr, covar.smd

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
## First example: Single case-control study
## Linear trend estimation
data("cc_ex")

## Fitting the model
mod1 <- dosresmeta(formula = logrr ~ dose, type = "cc", cases = case,
                   n = n, lb = lb, ub = ub, data= cc_ex)
summary(mod1)
## Results
predict(mod1, delta = 1, expo = TRUE)


## Second example: Multiple studies
## Linear and quadratic trend using random-effects meta-analysis
data("alcohol_cvd")

## Linear trend
lin <- dosresmeta(formula = logrr ~ dose, type = type, id = id,
                  se = se, cases = cases, n = n, data = alcohol_cvd)
summary(lin)
## Predicted linear trend
predict(lin, delta = 1, expo = TRUE)

## Non-linear (quadratic) trend
quadr <- dosresmeta(formula = logrr ~ dose + I(dose^2), type = type, id = id,
                    se = se, cases = cases, n = n, data = alcohol_cvd)
summary(quadr)

## Graphical results
with(predict(quadr, expo = TRUE, order = TRUE), {
   plot(dose, pred, log = "y", type = "l",
        xlim = c(0, 45), ylim = c(.4, 2))
   lines(dose,  ci.lb, lty = 2)
   lines(dose, ci.ub, lty = 2)
   rug(dose, quiet = TRUE)
})


## Third example: Continous outcome (smd)
data("ari")
mod3 <- dosresmeta(formula = y ~ dose + I(dose^2), id = id,
                   sd = sd, n = n, covariance = "smd", data = ari)
summary(mod3)

## Graphical results
newdata <- data.frame(dose = seq(0, 30, 1))
with(predict(mod3, newdata, order = TRUE), {
   plot(dose, pred, type = "l",
        ylim = c(0, .6))
   lines(dose,  ci.lb, lty = 2)
   lines(dose, ci.ub, lty = 2)
   rug(dose, quiet = TRUE)
})

Example output

Loading required package: mvmeta
This is mvmeta 0.4.11. For an overview type: help('mvmeta-package').
This is dosresmeta 2.0.1. For an overview type: help('dosresmeta-package').
Call:  dosresmeta(formula = logrr ~ dose, type = "cc", cases = case, 
    n = n, data = cc_ex, lb = lb, ub = ub)

One-stage fixed-effects meta-analysis
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 4.8333 (df = 1), p-value = 0.0279

Fixed-effects coefficients
      Estimate  Std. Error       z  Pr(>|z|)  95%ci.lb  95%ci.ub   
dose    0.0454      0.0207  2.1985    0.0279    0.0049    0.0859  *
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

1 study 3 values, 1 fixed and 0 random-effects parameters
 logLik      AIC      BIC  
 0.7835   0.4330  -0.4684  

 delta     pred    ci.lb    ci.ub
     1 1.046477 1.004941 1.089729
Call:  dosresmeta(formula = logrr ~ dose, id = id, type = type, cases = cases, 
    n = n, data = alcohol_cvd, se = se)

Two-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 0.5495 (df = 1), p-value = 0.4585

Fixed-effects coefficients
             Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb  95%ci.ub   
(Intercept)   -0.0044      0.0059  -0.7413    0.4585   -0.0159    0.0072   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Between-study random-effects (co)variance components
  Std. Dev
    0.0100

Univariate Cochran Q-test for residual heterogeneity:
Q = 14.1464 (df = 5), p-value = 0.0147
I-square statistic = 64.7%

6 studies, 6 values, 1 fixed and 1 random-effects parameters
  logLik       AIC       BIC  
 13.1383  -22.2765  -23.0577  

 delta      pred     ci.lb    ci.ub
     1 0.9956441 0.9842178 1.007203
Call:  dosresmeta(formula = logrr ~ dose + I(dose^2), id = id, type = type, 
    cases = cases, n = n, data = alcohol_cvd, se = se)

Two-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Greenland & Longnecker

Chi2 model: X2 = 6.3694 (df = 2), p-value = 0.0414

Fixed-effects coefficients
                       Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
dose.(Intercept)        -0.0302      0.0132  -2.2943    0.0218   -0.0561
I(dose^2).(Intercept)    0.0008      0.0005   1.5383    0.1240   -0.0002
                       95%ci.ub   
dose.(Intercept)        -0.0044  *
I(dose^2).(Intercept)    0.0017   
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Between-study random-effects (co)variance components
           Std. Dev     Corr
dose         0.0209     dose
I(dose^2)    0.0008  -0.9063

Univariate Cochran Q-test for residual heterogeneity:
Q = 35.1177 (df = 10), p-value = 0.0001
I-square statistic = 71.5%

6 studies, 12 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
 32.9050  -55.8099  -54.2970  

Call:  dosresmeta(formula = y ~ dose + I(dose^2), id = id, n = n, sd = sd, 
    data = ari, covariance = "smd")

Two-stage random-effects meta-analysis
Estimation method: REML
Covariance approximation: Standardized Mean Differences

Chi2 model: X2 = 49.6327 (df = 2), p-value = 0.0000

Fixed-effects coefficients
                       Estimate  Std. Error        z  Pr(>|z|)  95%ci.lb
dose.(Intercept)         0.0461      0.0084   5.4817    0.0000    0.0296
I(dose^2).(Intercept)   -0.0011      0.0003  -3.8465    0.0001   -0.0017
                       95%ci.ub     
dose.(Intercept)         0.0625  ***
I(dose^2).(Intercept)   -0.0005  ***
---
Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 

Between-study random-effects (co)variance components
           Std. Dev  Corr
dose         0.0001  dose
I(dose^2)    0.0000    -1

Univariate Cochran Q-test for residual heterogeneity:
Q = 2.4212 (df = 8), p-value = 0.9653
I-square statistic = 0.0%

5 studies, 10 values, 2 fixed and 3 random-effects parameters
  logLik       AIC       BIC  
 36.5347  -63.0693  -62.6721  

dosresmeta documentation built on May 2, 2019, 6:30 a.m.