Owen, Branwen
2014-Aug-27 11:48 UTC
[R] Metafor -can't calculate heterogeneity with non-positive sampling variances
Hi, I'm doing a meta-analysis in metafor. All is fine except when there are 0s in the values that i'm pooling, then i get a pooled estimate but not the I2 that i am also interested in. for example: summary(rma.1<-rma(yi,vi,data=mix,method="ML",knha=F,weighted=F,intercept=T)) (where yi are the study outcomes, one of which is 0, and vi is the variance of the study outcomes) Random-Effects Model (k = 17; tau^2 estimator: ML) logLik deviance AIC BIC AICc 13.0539 Inf -22.1077 -20.4413 -21.2506 tau^2 (estimated amount of total heterogeneity): 0.0119 (SE = 0.0043) tau (square root of estimated tau^2 value): 0.1089 Model Results: estimate se zval pval ci.lb ci.ub 0.1837 0.0274 6.7154 <.0001 0.1301 0.2374 *** --- Signif. codes: 0 ?***? 0.001 ?**? 0.01 ?*? 0.05 ?.? 0.1 ? ? 1 Warning messages: 1: In rma(yi, vi, data = mix, method = "ML", knha = F, weighted = F, : There are outcomes with non-positive sampling variances. 2: In rma(yi, vi, data = mix, method = "ML", knha = F, weighted = F, : Cannot compute Q-test, I^2, or H^2 with non-positive sampling variances. Is there any way around this? thanks Branwen ________________________________________ From: r-help-bounces at r-project.org [r-help-bounces at r-project.org] on behalf of r-help-owner at r-project.org [r-help-owner at r-project.org] Sent: 27 August 2014 13:36 To: Owen, Branwen Subject: Metafor -can't calculate heterogeneity with non-positive sampling variances Message rejected by filter rule match
Viechtbauer Wolfgang (STAT)
2014-Aug-27 15:30 UTC
[R] Metafor -can't calculate heterogeneity with non-positive sampling variances
The warning message pretty much says it: When one of the variances is zero, then the I^2 statistic (and various other things) cannot be computed, at least if one sticks to the usual equations/methods. So, if you think the 0 sampling variances really make sense and you really want to get something like I^2, you will have to come up with a creative solution. On the metafor package website, I explain how I^2 is computed (for the random-effects model): http://www.metafor-project.org/doku.php/faq#how_are_i_2_and_h_2_computed_i The crux of the problem is how to compute the 'typical' within-study variance (s^2). With any vi=0, you get division by zero in the equation given. So, you will have to compute s^2 in a different way. You could leave out the studies where vi=0, but this doesn't seem quite right, because this will inflate s^2. You could just take the simple average of the vi values and use that for s^2, but then it's not really I^2 anymore (it's I^2-like). My question would be: How come you have studies where the sampling variance is estimated to be zero and does that really make sense? Maybe the solution is not to fix the computation of I^2, but to consider if vi=0 is really sensible. Best, Wolfgang> -----Original Message----- > From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] > On Behalf Of Owen, Branwen > Sent: Wednesday, August 27, 2014 13:48 > To: r-help at r-project.org > Subject: [R] Metafor -can't calculate heterogeneity with non-positive > sampling variances > > Hi, I'm doing a meta-analysis in metafor. All is fine except when there > are 0s in the values that i'm pooling, then i get a pooled estimate but > not the I2 that i am also interested in. > for example: > > summary(rma.1<- > rma(yi,vi,data=mix,method="ML",knha=F,weighted=F,intercept=T)) > (where yi are the study outcomes, one of which is 0, and vi is the > variance of the study outcomes) > > Random-Effects Model (k = 17; tau^2 estimator: ML) > > logLik deviance AIC BIC AICc > 13.0539 Inf -22.1077 -20.4413 -21.2506 > > tau^2 (estimated amount of total heterogeneity): 0.0119 (SE = 0.0043) > tau (square root of estimated tau^2 value): 0.1089 > > Model Results: > > estimate se zval pval ci.lb ci.ub > 0.1837 0.0274 6.7154 <.0001 0.1301 0.2374 *** > > --- > Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 > > Warning messages: > 1: In rma(yi, vi, data = mix, method = "ML", knha = F, weighted = F, : > There are outcomes with non-positive sampling variances. > 2: In rma(yi, vi, data = mix, method = "ML", knha = F, weighted = F, : > Cannot compute Q-test, I^2, or H^2 with non-positive sampling > variances. > > Is there any way around this? > thanks > Branwen > ________________________________________ > From: r-help-bounces at r-project.org [r-help-bounces at r-project.org] on > behalf of r-help-owner at r-project.org [r-help-owner at r-project.org] > Sent: 27 August 2014 13:36 > To: Owen, Branwen > Subject: Metafor -can't calculate heterogeneity with non-positive > sampling variances > > Message rejected by filter rule match > > > ______________________________________________ > R-help at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-help > PLEASE do read the posting guide http://www.R-project.org/posting- > guide.html > and provide commented, minimal, self-contained, reproducible code.