0

我想使用 metafor 包从模型的统计摘要中保存的对象绘制森林图。在我的对象中,将有 5 列:组、子组、估计、上限和下限 CI,如下所示:

Group Subgroup  est   lCI hCI
A         1     0.2    ~   ~
A         2     0.3    ~   ~
A         3     0.8    ~   ~
B         1      ~     ~   ~
B         2      ~     ~   ~
B         3      ~     ~   ~

如何绘制将子组组合在一起并进行分类的森林帖子?以 CI 作为误差线。

谢谢!

4

1 回答 1

0

我以前只使用过这个forestplot包,你需要先把它旋转,然后像下面这样绘制它:

library(forestplot)
library(tidyr)
library(dplyr)

results = data.frame(Group=rep(c("A","B"),each=3),
Subgroup = rep(1:3,2),est = runif(6,min=-2,max=2))

results$lCI = results$est - 0.1
results$hCI = results$est + 0.1

df_wide = pivot_wider(results,id_cols=Group,names_from=Subgroup,values_from=c("est","lCI","hCI"))

forestplot(list(Var=df_wide[["Group"]]), 
           legend = 1:3,
           fn.ci_norm = c(fpDrawNormalCI, fpDrawCircleCI),
           mean = select(df_wide,contains("est")),
           lower = select(df_wide,contains("lCI")),
           upper = select(df_wide,contains("hCI")),
           col=fpColors(box=c("blue", "darkred"))
            )

在此处输入图像描述

于 2020-05-16T09:21:41.403 回答