如何在不丢失绘图摘要信息的情况下编辑 meta::forest 绘图的列?我正在关注 R bookdown 中的 Harrer 荟萃分析

How do I edit the columns of a meta::forest plot without losing plot summary information? I'm following Harrer meta-analysis in R bookdown

初次使用 R,对 R 还很陌生,如果这个问题问得不够好,请见谅...

问题:

我在 R 中使用 meta 的森林图进行得很顺利,直到使用此处描述的参数进行编辑 https://bookdown.org/MathiasHarrer/Doing_Meta_Analysis_in_R/generating-a-forest-plot.html

问题:

当我使用 meta 参数 leftcols[=46 时,谁能发现原因? =] 将列更改为“Study、Cohort and Size”(来自 Study、TE 和 seTE),它按希望标记了左侧列,但去掉了“随机效应模型总数、预测区间和异质性”文本从情节的左下角?它还将文本居中放置在左列中,但理想情况下我希望它保持左对齐。比仅仅检测原因更好的是,任何人都可以提出解决方法吗?

我试过的:

我尝试使用 meta::forest() 的其他参数来添加回信息,例如 pooled.totalsprint.I2, text.predict 等但是一旦使用了 leftcols 参数似乎超越了他们。我可以使用 leftlabs 而不是 leftcols 来重命名列,但这些列的值仍然像以前一样(Study、TE 和 seTE)。

代码:

library(meta)
m.random.REML <- metagen(logTE,
                         logSE,
                         data=madata,
                         studlab=paste(Author),
                         comb.fixed = FALSE,
                         comb.random = TRUE,
                         method.tau= "REML",
                         hakn = FALSE,
                         prediction=TRUE, 
                         sm = "RR")

meta::forest(m.random.REML,
             sortvar = seTE, 
             comb.random = TRUE,
             rightlabs = c("RR", "95% CI", "Weight"),
        ######This next line is what causes the problem 
             leftcols = c("Study", "Cohort", "Size"),  
             
)

我自己花了很多时间在这上面,但这就是我得到的:

您需要指定 "studlab",因为这实际上是打印摘要的内容,使用 leftcols 会覆盖它。您在创建元数据时已经将信息放入 "studlab"。然后您需要在绘图中调用它并根据需要重新标记它:

library(meta)
m.random.REML <- metagen(logTE,
                     logSE,
                     data=madata,
                     studlab=paste(Author),
                     comb.fixed = FALSE,
                     comb.random = TRUE,
                     method.tau= "REML",
                     hakn = FALSE,
                     prediction=TRUE, 
                     sm = "RR")

meta::forest(m.random.REML,
         sortvar = seTE, 
         comb.random = TRUE,
         rightlabs = c("RR", "95% CI", "Weight"),
    ######This next line is what causes the problem 
         leftcols = c("studlab", "Cohort", "Size"),  
         leftlabs = c("Study", "Cohort", "Size"))