如何在 r 中创建森林图


森林图(有时称为“斑点图”)用于荟萃分析,以在单个图中可视化多项研究的结果。

这种类型的图提供了一种同时查看多项研究结果的便捷方法。

以下示例展示了如何在 R 中创建森林图。

示例:R 中的森林图

要在 R 中创建森林图,我们首先需要创建一个数据框,其中包含每个研究的效应大小(或其他感兴趣的值)以及置信区间的上限和下限:

 #create data
df <- data. frame (study=c('S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7'),
                 index=1:7,
                 effect=c(-.4, -.25, -.1, .1, .15, .2, .3),
                 lower=c(-.43, -.29, -.17, -.02, .04, .17, .27),
                 upper=c(-.37, -.21, -.03, .22, .24, .23, .33))

#view data
head(df)

  study index effect lower upper
1 S1 1 -0.40 -0.43 -0.37
2 S2 2 -0.25 -0.29 -0.21
3 S3 3 -0.10 -0.17 -0.03
4 S4 4 0.10 -0.02 0.22
5 S5 5 0.15 0.04 0.24
6 S6 6 0.20 0.17 0.23
7 S7 7 0.30 0.27 0.33

接下来,我们可以使用ggplot2数据可视化包的功能来创建以下森林图:

 #load ggplot2
library (ggplot2)

#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() + 
  geom_errorbarh(height= .1 ) +
  scale_y_continuous(name = "", breaks=1: nrow (df), labels=df$study) 

x 轴显示每个研究的效应大小,y 轴显示每个研究的名称。

图中的点显示每项研究的效应大小,误差线显示置信区间的限制。

请注意,我们还可以添加标题,更改轴标签,并添加效果大小为零的垂直线,以使图表看起来更好:

 #load ggplot2
library (ggplot2)

#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() + 
  geom_errorbarh(height= .1 ) +
  scale_y_continuous(breaks=1: nrow (df), labels=df$study) +
  labs(title=' Effect Size by Study ', x=' Effect Size ', y = ' Study ') +
  geom_vline(xintercept=0, color=' black ', linetype=' dashed ', alpha= .5 ) +
  theme_minimal() 

R 中的森林图

请随意更改情节主题,使其看起来像您想要的那样。例如,我们还可以使用theme_classic()来获得更经典的外观:

 #load ggplot2
library (ggplot2)

#create forest plot
ggplot(data=df, aes (y=index, x=effect, xmin=lower, xmax=upper)) +
  geom_point() + 
  geom_errorbarh(height= .1 ) +
  scale_y_continuous(breaks=1: nrow (df), labels=df$study) +
  labs(title=' Effect Size by Study ', x=' Effect Size ', y = ' Study ') +
  geom_vline(xintercept=0, color=' black ', linetype=' dashed ', alpha= .5 ) +
  theme_classic() 

其他资源

如何在 Excel 中创建森林图
最佳 ggplot2 主题的完整指南

添加评论

您的电子邮箱地址不会被公开。 必填项已用*标注