The function md.vcov computes effect sizes and variance-covariance matrix for multivariate meta-analysis when the effect sizes of interest are all measured by mean difference. See mix.vcov for effect sizes of the same or different types.

md.vcov(r, nt, nc, n_rt = NA, n_rc = NA, sdt, sdc)

Arguments

r

A \(N\)-dimensional list of \(p \times p\) correlation matrices for the \(p\) outcomes from the \(N\) studies. r[[k]][i,j] is the correlation coefficient between outcome \(i\) and outcome \(j\) from study \(k\).

nt

A \(N \times p\) matrix storing sample sizes in the treatment group reporting the \(p\) outcomes. nt[i,j] is the sample size from study \(i\) reporting outcome \(j\).

nc

A matrix defined in a similar way as nt for the control group.

n_rt

A \(N\)-dimensional list of \(p \times p\) matrices storing sample sizes in the treatment group reporting pairwise outcomes in the off-diagonal elements. n_rt[[k]][i,j] is the sample size reporting both outcome \(i\) and outcome \(j\) from study \(k\). Diagonal elements of these matrices are discarded. The default value is NA, which means that the smaller sample size reporting the corresponding two outcomes is imputed: i.e. n_rt[[k]][i,j]=min(nt[k,i],nt[k,j]).

n_rc

A list defined in a similar way as n_rt for the control group.

sdt

A \(N \times p\) matrix storing sample standard deviations for each outcome from treatment group. sdt[i,j] is the sample standard deviation from study \(i\) for outcome \(j\). If outcome \(j\) is not continuous such as MD or SMD, NA has to be imputed in the \(j\)th column.

sdc

A matrix defined in a similar way as sdt for the control group.

Author

Min Lu

Value

list.vcov

A \(N\)-dimensional list of \(p(p+1)/2 \times p(p+1)/2\) matrices of computed variance-covariance matrices.

matrix.vcov

A \(N \times p(p+1)/2\) matrix whose rows are computed variance-covariance vectors.

References

Ahn, S., Lu, M., Lefevor, G.T., Fedewa, A. & Celimli, S. (2016). Application of meta-analysis in sport and exercise science. In N. Ntoumanis, & N. Myers (Eds.), An Introduction to Intermediate and Advanced Statistical Analyses for Sport and Exercise Scientists (pp.233-253). Hoboken, NJ: John Wiley and Sons, Ltd.

Wei, Y., & Higgins, J. (2013). Estimating within study covariances in multivariate meta-analysis with multiple outcomes. Statistics in Medicine, 32(7), 119-1205.

Examples

###################################################### # Example: Geeganage2010 data # Preparing covariances for multivariate meta-analysis ###################################################### ## 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 <- md.vcov(nt = subset(Geeganage2010, select = c(nt_SBP, nt_DBP)), nc = subset(Geeganage2010, select = c(nc_SBP, nc_DBP)), sdt = subset(Geeganage2010, select=c(sdt_SBP, sdt_DBP)), sdc = subset(Geeganage2010, select=c(sdc_SBP, sdc_DBP)), r = r.Gee) # name variance-covariance matrix as S S <- computvcov$matrix.vcov ## fixed-effect model y <- as.data.frame(subset(Geeganage2010, select = c(MD_SBP, MD_DBP))) MMA_FE <- summary(metafixed(y = y, Slist = computvcov$list.vcov)) MMA_FE
#> Fixed-effects coefficients #> Estimate Std. Error z Pr(>|z|) 95%ci.lb 95%ci.ub #> MD_SBP -1.9011 0.9689 -1.9620 0.0498 -3.8002 -0.0020 * #> MD_DBP -2.1035 0.5196 -4.0486 0.0001 -3.1219 -1.0852 *** #> --- #> Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 #> #> Multivariate Cochran Q-test for heterogeneity: #> Q = 81.0759 (df = 32), p-value = 0.0000 #> I-square statistic = 60.5% #>
####################################################################### # Running random-effects model using package "mvmeta" or "metaSEM" ####################################################################### # Restricted maximum likelihood (REML) estimator from the mvmeta package #library(mvmeta) #mvmeta_RE <- summary(mvmeta(cbind(MD_SBP, MD_DBP), S = S, # data = subset(Geeganage2010, select = c(MD_SBP, MD_DBP)), # 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 # plotCI(y = y, v = computvcov$list.vcov, # name.y = c("MD_SBP", "MD_DBP"), name.study = Geeganage2010$studyID, # y.all = obj$coefficients[,1], # y.all.se = obj$coefficients[,2])