Dear all,
I am trying to run a multivariate meta-analysis for a review. For this
review I included multiple effect sizes from single studies into my
analysis. The number of effect sizes from a single study range from 1 to
36. To account for covariance between effect sizes extracted from the same
sample, I created a variance-covariance matrix for each study with multiple
effect sizes (which is the majority). I am using a syntax I have used
before, in the previous attempt it worked perfectly. However, in this new
study I am continuously ending up with the same error message:
Error in .ll.rma.mv(opt.res$par, reml = reml, Y = Y, M = V, A = A, X.fit
= X, :
Final variance-covariance matrix not positive definite.
In addition: Warning message:
In rma.mv(dat$ESP, V, mods = ~1, random = list(~1 | id/nummer), :
'V' appears to be not positive definite.
In which V is the variance-covariance matrix I made. As far as I know an
error due to 'non-positive definite matrices' can occur in cases in which
negative or exactly zero eigenvalues appear anywhere in any of the
matrices. As far as I can determine this is not the case. What could be the
problem? If it helps this is full the syntax:
library(metafor) # For meta-analysis
library(clubSandwich) # For cluster-robust variance-covariance matrix
library(foreign)
dat<- read.spss("TEST.sav", to.data.frame= TRUE)
list_mat<- split(dat[ ,c("v1p", "v2p", "v3p", "v4p", "v5p", "v6p")],
dat$id)
remove_zero<- lapply(list_mat, function(x) x[ ,colSums(x) != 0])
remove_zero_mat<- sapply(remove_zero, as.matrix)
V<- bldiag(remove_zero_mat)
PTSD<- rma.mv(dat$ESP, V, mods= ~ 1, random= list(~ 1| id/nummer),
data=dat)
summary (PTSD,digits=3)
In which:
V = the covariance-variance matrices
ESP = the effect size
v1p to v6p = dimensions of the variance-covariance matrices
Thanks in advance.
Kind regards,
Erik van der Meulen
[[alternative HTML version deleted]]