### load a well-formatted dataframe with a single factor
df <- df.SMD[df.SMD$factor == "Surgical", ]
### perform an excess significance bias directly on this dataframe
esb <- esb.test(df, measure = "SMD", input = "dataframe",
method.esb = "TESS", true_effect = "largest")
### perform an excess significance bias using the umbrella function
esb.umbrella <- umbrella(df, method.esb = "TESS", true_effect = "largest")[[1]]$esb
### perform an excess significance bias on a rma object
### we convert the SMD into Hedges' g
G <- metaumbrella:::.estimate_g_from_d(df$value, df$n_cases, df$n_controls)
rma <- metafor::rma(yi = G$value, sei = G$se,
measure = "SMD",
ni = df$n_cases + df$n_controls,
data = df)
esb.rma <- esb.test(rma, n_cases = df$n_cases, input = "rma", method.esb = "TESS")
### perform an excess significance bias on a meta object
meta <- meta::metagen(TE = G$value, seTE = G$se,
sm = "SMD",
n.e = n_cases, n.c = n_controls,
data = df)
esb.meta <- esb.test(meta, input = "meta", method.esb = "TESS")
all.equal(esb$p.value, esb.umbrella$p.value, esb.rma$p.value, esb.meta$p.value)
Run the code above in your browser using DataLab