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

Michael Dewey ||@t@ @end|ng |rom dewey@myzen@co@uk
Thu Nov 14 14:42:31 CET 2024


Dear Adelina

You state that you are interested in the HKSG method but I do not see an 
exampe of that in your code. You are also doing something which metafor 
regards as incompatible (knha with FE).

But the main problem is that you are trying to estimate a variance 
(tau^2) based on only two observations. This is in general very imprecise.

If you can clarify what your underlying scientific goal is it may be 
that somebody, quite likely not me< can offer a way forward.

Michael


On 14/11/2024 11:11, Adelina Artenie via R-sig-meta-analysis wrote:
> 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]]
> 
> _______________________________________________
> R-sig-meta-analysis mailing list @ R-sig-meta-analysis using r-project.org
> To manage your subscription to this mailing list, go to:
> https://stat.ethz.ch/mailman/listinfo/r-sig-meta-analysis
> 

-- 
Michael



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