lgOR.vcov {metavcov} | R Documentation |
Computing Variance-Covariance Matrices for Log Odds Ratios
Description
The function lgOR.vcov
computes effect sizes and variance-covariance matrix for multivariate meta-analysis when the effect sizes of interest are all measured by log odds ratio. See mix.vcov
for effect sizes of the same or different types.
Usage
lgOR.vcov(r, nt, nc, st, sc, n_rt = NA, n_rc = NA)
Arguments
r |
A |
nt |
A |
nc |
A matrix defined in a similar way as |
st |
A |
sc |
Defined in a similar way as |
n_rt |
A |
n_rc |
A list defined in a similar way as |
Value
ef |
A |
list.vcov |
A |
matrix.vcov |
A |
Author(s)
Min Lu
References
Lu, M. (2023). Computing within-study covariances, data visualization, and missing data solutions for multivariate meta-analysis with metavcov. Frontiers in Psychology, 14:1185012.
Examples
##########################################################################
# Example: Geeganage2010 data
# Preparing log odds ratios and covariances for multivariate meta-analysis
##########################################################################
data(Geeganage2010)
## set the correlation coefficients list r
r12 <- 0.71
r.Gee <- lapply(1:nrow(Geeganage2010), function(i){matrix(c(1, r12, r12, 1), 2, 2)})
computvcov <- lgOR.vcov(nt = subset(Geeganage2010, select = c(nt_DD, nt_D)),
nc = subset(Geeganage2010, select = c(nc_DD, nc_D)),
st = subset(Geeganage2010, select = c(st_DD, st_D)),
sc = subset(Geeganage2010, select = c(sc_DD, sc_D)),
r = r.Gee)
# name computed log odds ratio as y
y <- computvcov$ef
colnames(y) <- c("lgOR.DD", "lgOR.D")
# name variance-covariance matrix of trnasformed z scores as S
S <- computvcov$matrix.vcov
## fixed-effect model
MMA_FE <- summary(metafixed(y = y, Slist = computvcov$list.vcov))
MMA_FE
#######################################################################
# Running random-effects model using package "mixmeta" or "metaSEM"
#######################################################################
# Restricted maximum likelihood (REML) estimator from the mixmeta package
#library(mixmeta)
#mvmeta_RE <- summary(mixmeta(cbind(lgOR.DD, lgOR.D)~1,
# S = S,
# data = as.data.frame(y),
# method = "reml"))
#mvmeta_RE
# maximum likelihood estimators from the metaSEM package
# library(metaSEM)
# metaSEM_RE <- summary(meta(y = y, v = S))
# metaSEM_RE
##############################################################
# Plotting the result:
##############################################################
obj <- MMA_FE
# obj <- mvmeta_RE
# obj <- metaSEM_RE
# pdf("CI.pdf", width = 4, height = 7)
plotCI(y = computvcov$ef, v = computvcov$list.vcov,
name.y = c("lgOR.DD", "lgOR.D"),
name.study = Geeganage2010$studyID,
y.all = obj$coefficients[,1],
y.all.se = obj$coefficients[,2],
hline = 1)
# dev.off()