Learn R Programming

dosresmeta (version 1.3.0)

dosresmeta: Performing multivariate dose-response meta-analysis

Description

Estimates a dose-response relation from either a single or multiple summarized data, taking into account the correlation among set of log relative risks. The covariances are approximated according to two different methods, proposed respectively by Greeland S., Longnecker M., and Hamling J.; alternatively the user can provide directly the covariance matrices or the avarage covariances (Easton D.). The study-specific estimates are combined according to principles of multivariate random-effects meta-analysis.

Usage

dosresmeta(formula, id, type, v, cases, n, data, intercept = F, center = T,
  se, lb, ub, covariance = "gl", method = "reml", fcov, ucov,
  alpha = 0.05, ...)

Arguments

formula
an object of class "formula" offering a symbolic description of the dose-response functional relation. Terms in the formula need to be provided in the data below.
id
an optional vector to specify the id variable for the studies included in the analysis.
type
a vector (or a string) to specify the study-specific design. The values for case-control, incidence-rate, and cumulative incidence data are cc, ir, and ci (or 1, 2, and 3), respectively.
v
a vector to specify the variances of the reported log relative risks. Alternatively the user can provide the standard error in the se argument, or the confidence interval for the reported relative risks in the lb and
cases
a vector to specify the number of cases for each exposure level.
n
a vector to specify the total number of subjects for each exposure level. For incidence-rate data n indicates the amount of person-time for each exposure level.
data
a data frame (or object coercible by as.data.frame to a data frame) containing the variables in the previous arguments.
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 exposures level 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 coviariance among set of reported log relative risks, "gl" for the method proposed by Greenland and Longnecker, "h" for the method proposed by Hamling (default), "fl" for absolut
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"
fcov
an optional vector to specify the avarage covariances for the set of reported log relative risks. It is required if covariance = "fl".
ucov
an optional list of matrices to specify the covariance matrices for the set of reported log relative risks. It is required if covariance = "user".
alpha
a scalar to specify the alpha nominal value used in the published data, by defaul equal to .05.
...
other useful agurments related to mvmeta model.

Value

  • The dosresmeta function typically returns a list of object of class dosresmeta which resembles a mvmetaObject, with differences in case of trend estimation for a sigle study.

Details

The function estimates the dose response-relation specified in the formula for each study included in the analysis. Typically the model does not have an intercept (intercept = FALSE by default) term since the log relative risk for the exposure level (usually zero) is zero (RR = 1). For that reason, the values in the desing matrix need to be centered at the referent values, as described by Qin Liu et al, 2009. This is automatically done by the function when center = TRUE (default value). The study-specific trends are efficienly estimated taking into account the covariance among relative risks. For a theorical description see Orsini et al, 2006. The study specific trends are then combined according to the principles of multivariate random-effects meta-analysis, and relies on mvmeta package.

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, grl, hamling

Examples

Run this code
## FIRST EXAMPLE: Single case-control study
## Linear trend estimation
## Inspect data
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)


## SECOND EXAMPLE: Multiple studies
## Linear and quadratic trend using random-effects meta-analysis
## Inspect data
data("alcohol_cvd")

## Linear trend
lin <- dosresmeta(formula = logrr ~ dose, type = type, id = id,
                 se = se, cases = cases, n = n, data = alcohol_cvd)
## Summarize the results
summary(lin)
predict(lin, delta = 1)

## 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)
## Summarize the results
summary(quadr)

## Graphical results
with(predict(quadr), {
 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)
})

Run the code above in your browser using DataLab