Skip to content

[R-meta] How does rma handle effect size of zero

3 messages · Divya Ravichandar, Wolfgang Viechtbauer

#
Hi all

I would like to get some understanding around how rma handles effect sizes
of 0. A test example is outlined below

library(metafor)
library(magrittr)

case1 <- data.frame(Study= c("a","b","c","d"),ES=rep(.1,4),SE=rep(1e-5,4))
%>% rma(ES, SE^2, data=.) #non zero case
meta_case1 <- rma(ES, SE^2,  data=case1)
case2 <- data.frame(Study= c("a","b","c","d"),ES=rep(0,4),SE=rep(1e-5,4))
%>% rma(ES, SE^2, data=.) #zero case

While case 1 results in a significant p value  (<.0001), case 2 results in
a non-significant p value (1). Does a zero effect size violate any
assumptions and if not I wonder why a consistent estimate of 0 across
datasets results in a non-significant result?

Thanks
#
Hi all

Apologies for a second email but I wanted to clarify the code provided in
the example above. Corrected code below

library(metafor)
library(magrittr)
case1 <- data.frame(Study= c("a","b","c","d"),ES=rep(.1,4),SE=rep(1e-5,4))
%>% rma(ES, SE^2, data=.) #non zero case
case2 <- data.frame(Study= c("a","b","c","d"),ES=rep(0,4),SE=rep(1e-5,4))
%>% rma(ES, SE^2, data=.) #zero case

On Mon, Jun 8, 2020 at 12:59 PM Divya Ravichandar <divya at secondgenome.com>
wrote:

  
    
#
Hi Divya,

There is no special handling of zero effect sizes.

The p-value you are referring to corresponds to the test of H0: mu = 0. If the pooled estimate is exactly 0, then this obviously results in a p-value of 1. The same thing will happen also here:

rma(c(-.2, -.2, .2, .2), rep(.01, 4))

Best,
Wolfgang