RE2C | R Documentation |
Random effect meta-analysis for correlated test statistics using RE2C
RE2C(beta, stders, cor = diag(1, length(beta)), twoStep = FALSE)
beta |
regression coefficients from each analysis |
stders |
standard errors corresponding to betas |
cor |
correlation matrix between of test statistics. Default considers uncorrelated test statistics |
twoStep |
Apply two step version of RE2C that is designed to be applied only after the fixed effect model. |
Perform random effect meta-analysis for correlated test statistics using RE2 method of Han and Eskin (2011), or RE2 for correlated test statistics from Han, et al., (2016). Also uses RE2C method of Lee, Eskin and Han (2017) to further test for heterogenity in effect size. By default, correlation is set to identity matrix to for independent test statistics.
This method requires the correlation matrix to be symmatric positive definite (SPD). If this condition is not satisfied, results will be NA. If the matrix is not SPD, there is likely an issue with how it was generated.
However, evaluating the correlation between observations that are not pairwise complete can give correlation matricies that are not SPD. In this case, consider running Matrix::nearPD( x, corr=TRUE)
to produce the nearest SPD matrix to the input.
statistic testing effect mean
statistic testing effect heterogeneity
RE2 p-value accounting for correlelation between tests
two step RE2C test after fixed effect test. Only evaluated if twoStep==TRUE
test statistic for the test of (residual) heterogeneity
p-value for the test of (residual) heterogeneity
I^2 statistic
QE
, QEp
and ISq
are only evaluted if correlation is diagonal
lee2017increasingremaCor
\insertRefhan2016generalremaCor
\insertRefhan2011randomremaCor
library(clusterGeneration)
library(mvtnorm)
# sample size
n = 30
# number of response variables
m = 6
# Error covariance
Sigma = genPositiveDefMat(m)$Sigma
# regression parameters
beta = matrix(.6, 1, m)
# covariates
X = matrix(rnorm(n), ncol=1)
# Simulate response variables
Y = X %*% beta + rmvnorm(n, sigma = Sigma)
# Multivariate regression
fit = lm(Y ~ X)
# Correlation between residuals
C = cor(residuals(fit))
# Extract effect sizes and standard errors from model fit
df = lapply(coef(summary(fit)), function(a)
data.frame(beta = a["X", 1], se = a["X", 2]))
df = do.call(rbind, df)
# Run fixed effects meta-analysis,
# assume identity correlation
LS( df$beta, df$se)
# Run random effects meta-analysis,
# assume identity correlation
RE2C( df$beta, df$se)
# Run fixed effects meta-analysis,
# account for correlation
LS( df$beta, df$se, C)
# Run random effects meta-analysis,
# account for correlation
RE2C( df$beta, df$se, C)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.