metaNorm {asht} | R Documentation |
Meta analysis of normally distributed parameters with assumed known variance
Description
Performs either a random effects meta analysis (Paule-Mandel method or Dersimonian-Laird method) or a fixed effects meta analysis.
Usage
metaNorm(y, s2, method = c("PM", "DL", "fixed"), df = NULL, nullparm = 0,
conf.level = 0.95, alternative = c("two.sided", "less", "greater"),
niter = 100, epsilon = 1e-10)
Arguments
y |
vector of parameter estimates |
s2 |
vector of variances of parameter estimates |
method |
either "PM" (Paule-Mandel random effects method), "DL" (Dersimonian-Laird random effects method) or "fixed" (fixed effects method) |
df |
degrees of freedom, NULL gives either df=k-1 (method="PM"), df=Inf (method="DL" or "fixed") |
conf.level |
confidence level |
alternative |
type of alternative hypothesis |
nullparm |
null value of the parameter for calculating the p-value |
niter |
maximum number of iterations for method="PM" |
epsilon |
small number for determining convergence of Paule-Mandel method. |
Details
Assume you have a vector of treatment effect estimates from K studies (y), together with variance estimates (s2). Assume that y[i] is distributed normal with mean theta[i] and variance s2[i], and assume the theta[i] (the latent treatment effect for the ith study) is normally distributed with mean theta and variance tau2 (tau^2). Assume independence between studies.
We are interested in estimating the weighted average of the theta[i]. If tau2 is known, then an efficient estimator weighs each study proportional to the inverse of its variance, w[i] = 1/(tau2 + s2[i]). We can either assume tau2=0, and we have a fixed effects model (in other words, the treatment effect is constant across all the studies), or estimate tau2. The method for estimating tau2 either uses a simple method of moments estimator of Dersimonian and Laird (1986), or an iterative method of moments estimator of Paule and Mandel (1982). Dersimonian and Kacker (2007) give the details.
For the Paule-Mandel estimator, to account for the fact that we are estimating tau2, we default to using a t-distribution with K-1 degrees of freedom (for motivation see Brittain, Fay and Follmann, 2012, Supplement, Section 3).
Value
A list with class "htest"
containing the following components:
statistic |
a vector of [1] the estimator of tau2 and [2] the t-statistic (or Z-statistic) |
parameter |
degrees of freedom of the t-distribution (df=Inf gives a normal distribution) |
p.value |
the p-value for the test. |
conf.int |
a confidence interval |
estimate |
a vector of [1] the estimated weighted means and [2] the estimated standard error of the weighted means |
null.value |
the specified hypothesized value of the weighted means |
alternative |
a character string describing the alternative hypothesis. |
method |
a character string describing the test. |
data.name |
a character string giving the name(s) of the data. |
Author(s)
Michael P. Fay
References
Brittain, Fay, and Follmann (2012) A valid formulation of the analysis of noninferiority trials under random effects meta-analysis. Biostatistics 13(4): 637-649.
Dersimonian, R and Kacker, R (2007) Random-effects model for meta-analysis of clinical trials: an update. Contemporary Clinical Trials 28:105-144.
Dersimonian, R and Laird, N. (1986). Meta-analysis in clinical trials. Controled Clinical Trials. 7:177-187.
Paule, RC and Mandel, J (1982). Consensus values and weighting factors. J Res Natl Bur Stand 87: 377-385.
See Also
meta package on CRAN
Examples
# Data from Table III of Teo et al, BMJ 303:1499-1503
# Effects of intravenous magnesium in suspected acute myocardial
# infarction: overview of randomised trials
# xt/nt = deaths/total in treatment group (magnesium)
# xc/nc = deaths/total in control group
xt<-c(1,9,2,1,10,1,1)
nt<-c(40,135,200,48,150,59,25)
xc<-c(2,23,7,1,8,9,3)
nc<-c(36,135,200,46,148,56,23)
rt<- xt/nt
rc<- xc/nc
logOR<- log(rt*(1-rc)/(rc*(1-rt)))
varLogOR<- 1/(nt*rt*(1-rt)) + 1/(nc*rc*(1-rc))
# Compare weighted mean and std err to Table 4 of Dersimonian and Kacker, 2007
metaNorm(logOR,varLogOR,method="PM")
metaNorm(logOR,varLogOR,method="DL")
metaNorm(logOR,varLogOR,method="fixed")
# Compare tau values to Table 3 of Dersimonian and Kacker, 2007
sqrt( metaNorm(logOR,varLogOR,method="PM")$statistic["tau squared"] )
sqrt( metaNorm(logOR,varLogOR,method="DL")$statistic["tau squared"] )