I am currently in the process of running a meta analysis using the metaSEM package in OpenMx. As you can see in the first pass at the base model I am getting NA values for Std.Error, lbound, ubound, z value and Pr(>|z|) for both Tau2_2 and Tau2_3. In addition, the OpenMx status1: 5, which I found meant "5: means that the Hessian at the solution is not convex." However I am unclear how to resolve this as a problem. In addition when I run models with both level-2 and level-3 constraints I no longer see this issue, but I don't think it would be appropriate to do model comparisons to a base model that has so many NA values. Any help on how to resolve this issue would be great.
Here is the first few lines of data:
AUTHOR YEAR EXP yFINAL vFINAL typeFINAL
Greenwood 2009 I -1.346327273 0.228655603 G
Greenwood 2009 I 0.220196364 0.224990678 G
Siette 2014 J 0.8974913 0.2625858 MT
Siette 2014 J 1.2197971 0.2732485 MT
Siette 2014 J 0.1487526 0.2503457 MT
> t(aggregate(yFINAL~EXP, data=META_B, FUN=length))
[,1] [,2] [,3] [,4] [,5] [,6] [,7]
EXP "I" "J" "K" "L" "M" "N" "R"
yFINAL " 2" " 3" " 2" " 1" "12" " 2" " 1"
> ## ## Model 0: Random-effects model
> summary( Model0 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
+ data=META_B, model.name="3 level") )
Call:
meta3(y = yFINAL, v = vFINAL, cluster = EXP, data = META_B, model.name = "3 level")
95% confidence intervals: z statistic approximation
Coefficients:
Estimate Std.Error lbound ubound z value
Intercept 2.8690e-01 2.2100e-01 -1.4626e-01 7.2005e-01 1.2982
Tau2_2 1.0000e-10 NA NA NA NA
Tau2_3 2.6152e-01 NA NA NA NA
Pr(>|z|)
Intercept 0.1942
Tau2_2 NA
Tau2_3 NA
Q statistic on the homogeneity of effect sizes: 38.8583
Degrees of freedom of the Q statistic: 22
P value of the Q statistic: 0.01464862
Heterogeneity indices (based on the estimated Tau2):
Estimate
I2_2 (Typical v: Q statistic) 0.0000
I2_3 (Typical v: Q statistic) 0.5675
Number of studies (or clusters): 7
Number of observed statistics: 23
Number of estimated parameters: 3
Degrees of freedom: 20
-2 log likelihood: 40.06405
OpenMx status1: 5 ("0" or "1": The optimization is considered fine.
Other values may indicate problems.)
> ## ## Model 1: Testing tau^2_3 = 0
> Model1 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
+ data=META_B,
+ RE3.constraints=0, model.name="2 level")
Call:
meta3(y = yFINAL, v = vFINAL, cluster = EXP, data = META_B, RE3.constraints = 0,
model.name = "2 level")
95% confidence intervals: z statistic approximation
Coefficients:
Estimate Std.Error lbound ubound z value Pr(>|z|)
Intercept 0.055543 0.119228 -0.178139 0.289224 0.4659 0.6413
Tau2_2 0.102482 0.113505 -0.119984 0.324948 0.9029 0.3666
Q statistic on the homogeneity of effect sizes: 38.8583
Degrees of freedom of the Q statistic: 22
P value of the Q statistic: 0.01464862
Heterogeneity indices (based on the estimated Tau2):
Estimate
I2_2 (Typical v: Q statistic) 0.3396
I2_3 (Typical v: Q statistic) 0.0000
Number of studies (or clusters): 7
Number of observed statistics: 23
Number of estimated parameters: 2
Degrees of freedom: 21
-2 log likelihood: 45.00194
OpenMx status1: 0 ("0" or "1": The optimization is considered fine.
Other values may indicate problems.)
> Model2 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
+ data=META_B,
+ RE2.constraints=0, model.name="tau2_2 EQ 0")
> summary(Model2)
Call:
meta3(y = yFINAL, v = vFINAL, cluster = EXP, data = META_B, RE2.constraints = 0,
model.name = "tau2_2 EQ 0")
95% confidence intervals: z statistic approximation
Coefficients:
Estimate Std.Error lbound ubound z value Pr(>|z|)
Intercept 0.28690 0.25058 -0.20422 0.77801 1.1449 0.2522
Tau2_3 0.26152 0.24783 -0.22423 0.74726 1.0552 0.2913
Q statistic on the homogeneity of effect sizes: 38.8583
Degrees of freedom of the Q statistic: 22
P value of the Q statistic: 0.01464862
Heterogeneity indices (based on the estimated Tau2):
Estimate
I2_2 (Typical v: Q statistic) 0.0000
I2_3 (Typical v: Q statistic) 0.5675
Number of studies (or clusters): 7
Number of observed statistics: 23
Number of estimated parameters: 2
Degrees of freedom: 21
-2 log likelihood: 40.06405
OpenMx status1: 0 ("0" or "1": The optimization is considered fine.
Other values may indicate problems.)
The R code does not seem to be valid R code. For example,
summary( Model0 + data=META_B, model.name="3 level") )
Model2 + data=META_B, RE2.constraints=0, model.name="tau2_2 EQ 0")
Could you please posting the data and the R code?
I am not 100% sure how to attach the full file with my data but here are the first 5 rows from the data set:
AUTHOR YEAR EXP yFINAL vFINAL typeFINAL
Greenwood 2009 I -1.346327273 0.228655603 G
Greenwood 2009 I 0.220196364 0.224990678 G
Siette 2014 J 0.8974913 0.2625858 MT
Siette 2014 J 1.2197971 0.2732485 MT
Siette 2014 J 0.1487526 0.2503457 MT
Below is the code I ran to get the output above. Not 100% sure where the "Model2 + data=META_B" came from when I copied it here, however I don't see it in my output now. So sorry.
library("metaSEM")
t(aggregate(yFINAL~EXP, data=META_B, FUN=length)
## Model 0: Random-effects model
summary( Model0 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP, data=META_B, model.name="3 level") )
## Model 0: Random-effects model with LBCI
summary( meta3(y=yFINAL, v=vFINAL, cluster=EXP,
data=META_B, model.name="3 level",
intervals.type="LB") )
## Model 1: Testing tau^2_3 = 0
Model1 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
data=META_B,
RE3.constraints=0, model.name="2 level")
summary(Model1)
anova(Model0, Model1)
## Model 2: Testing tau^2_2 = 0
Model2 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
data=META_B,
RE2.constraints=0, model.name="tau2_2 EQ 0")
anova(Model0, Model2)
## Model 3: Testing tau^2_2 = tau^2_3
Model3 <- meta3(y=yFINAL, v=vFINAL, cluster=EXP,
data=META_B,
RE2.constraints="0.1Eq_tau2",
RE3.constraints="0.1Eq_tau2",
model.name="Eq tau2")
anova(Model0, Model3)
Ok is there any way to attach a file, for some reason everything looks good on y end when I try and post, then characters disappear? I am trying one last time to post the code for my base model only. I am so sorry this is so confusing.
## ## Model 0: Random-effects model
summary( Model0 <-
meta3(y=yG, v=vG, cluster=EXP,
data=META, model.name="3 level") )
What was happening right after we switched to our new website was that Drupal was interpreting the main assignment operator in R,
<-
, as a broken HTML tag, and not displaying anything that came after it in the same line of text. That problem should be fixed now.Like Professor Neale said, any kind of program code, including R syntax, is easier to read if you encase it in HTML "code" tags.
In sending code, it may help to put
at the beginning and
at the end. Doing so will add syntax highlighting. There is a currently an issue with attaching files with our new & improved website; we are aware of and working on it. Sorry for the inconvenience!