[R-meta] Question about a meta-analysis of 2 studies

Adelina Artenie @de||n@@@rten|e @end|ng |rom br|@to|@@c@uk
Thu Nov 14 12:11:47 CET 2024


Hello,

The HKSG<https://bmcmedresmethodol.biomedcentral.com/articles/10.1186/1471-2288-14-25#MOESM1> approach has been proposed to be used when the number of studies to pool is small, instead of more traditional meta-analysis methods.
I have to pool several estimates in cases where there are only 2 estimates, often quite different from each other and with varying levels of precision.
In pretty much all cases, the HKSG method seems to break down, leading to unrealistic 95%CI (this seems to improve as soon as I have at least 3 estimates and gets better with more estimates).
Conceptually, I get it: we have only 2 studies and the estimates are very different, so a meta-analysis is not ideal. But if I still want to do it, do you know of other methods that could better account for heterogeneity than traditional methods, even if imperfect?
I included some example code below.
Thanks
Adelina


library(meta)
library(metafor)

idd_count <- c(1, 2)

inci <- c(11.1849, 1.484536956)
CI95_LB <- c(6.8522, 1.042335486)
CI95_UB <- c(18.2571, 1.985159973)
df_inci <- data.frame(idd_count, inci, CI95_LB, CI95_UB)

# DL estimator for tau
df_inci$ln_inci <- log(df_inci$inci)
df_inci$ln_LB <-log(df_inci$CI95_LB)
df_inci$ln_UB <-log(df_inci$CI95_UB)

meta_inci <- metagen(TE = ln_inci,
                         lower = ln_LB,
                         upper = ln_UB,
                         studlab = idd_count,
                         data = df_inci,
                         sm = "IRLN",
                         method.tau = "DL", # switching between estimators (eg, REML, PM) gives the same results
                         comb.fixed = FALSE,
                         comb.random = TRUE, backtransf = TRUE,
                         text.random = "Overall")
summary(meta_inci)


# HKSJ approach: https://bmcmedresmethodol.biomedcentral.com/articles/10.1186/1471-2288-14-25#MOESM1

df_inci$ln_SE <- (df_inci$ln_inci - df_inci$ln_LB) /  1.96

meta_modellll <- rma.uni(yi = ln_inci,
                         sei = ln_SE,
                         method = "FE",  # intentionally set as FE, following recommendations by Inthout et al 2014
                         knha=TRUE,
                         data = df_inci)
summary(meta_modellll)

point_estimate <- exp(meta_modellll$b)
lower_bound <- exp(meta_modellll$ci.lb)
upper_bound <- exp(meta_modellll$ci.ub)
cat("Point Estimate:", point_estimate, "\n")
cat("95% CI Lower Bound:", lower_bound, "\n")
cat("95% CI Upper Bound:", upper_bound, "\n")









	[[alternative HTML version deleted]]



More information about the R-sig-meta-analysis mailing list