dxy logo
首页丁香园病例库全部版块
搜索
登录

R绘制多彩的森林图:基于ggplot2

丁香园临床病例数据库
证书编号:
墨点星沟
    您的案例《R绘制多彩的森林图:基于ggplot2》 经同行评议,被丁香园临床病例数据库收录。
收录时间 2025年5月21日
长按识别二维码
查看病例
发布于 2020-05-27 · 浏览 4961 · IP 江苏江苏
这个帖子发布于 4 年零 360 天前,其中的信息可能已发生改变或有所发展。

前些日子写了一篇关于R语言绘制森林图(forest plot)的帖子,不知道没有帮助到各位战友(来,挑一款你喜欢的森林图(超实用))。今天给大家带来一个新的森林图,这个森林图前些日子追加在了上一帖子的评论里,应该有站友已经看到了。今天就该多彩森林图的实现做个简单介绍。

img

该森林图是使用R package:ggplot2绘制的,主要用的函数有ggplot、geom_point、geom_errorbarh、geom_vline、theme和geom_text。下面我们就一步步来实现这一多彩森林图。

## 加载程序包

library(ggplot2)

##建立数据集(胡乱编造的)

dataset <- data.frame(

Varnames = c("ART","WBC","CPR","DTA","EPC","FFT","GEO","HBC","PTT","JOK"),

OR = c(0.9, 2, 0.3, 0.4, 0.5, 1.3, 2.5, 1.6, 1.9, 1.1),

CI = c(0.15, 0.21, 0.12, 0.2, 0.12, 0.15, 0.09, 0.19, 0.24, 0.13),

Factor = c('Not sig.', 'Risk', 'Protective', 'Protective', 'Protective', 'Risk', 'Risk', 'Risk', 'Risk', 'Not sig.'),

Sample=c(450, 420, 390, 400, 470, 390, 400, 388, 480, 460))

#查看数据集

View(dataset)

img



对数据情况做个简单介绍,Varnames:变量名称、OR:Odds Ratio、CI:1.96*SE、Factor:影响因素类型、Sample:样本量。基于这个数据集,我们开始绘制第一张草图:不同类型变量用不同颜色或形状表示。


##草图

p <- ggplot(dataset, aes(OR, Varnames, col=Factor)) # 不同形状shape= Factor

p + geom_point(size=3.6) +

  geom_errorbarh(aes(xmax = OR + CI, xmin = OR - CI), height = 0.4) +

  scale_x_continuous(limits= c(0.1, 2.6), breaks= seq(0, 2.5, 0.5)) +

  geom_vline(aes(xintercept = 1)) +

  xlab('Odds Ratio ') + ylab(' ')

# ggsave("forest1.png",dpi = 300,width = 33,height = 20,units = "cm")

img


img


上面已经完成了第一步,下面开始添加文字。首先通过data.frame建立包含P Value和各变量对应的P值的数据框,在通过geom_text添加到图中

img

所有代码不再免费提供,谢谢!

最后编辑于 2022-10-09 · 浏览 4961

全部讨论0

默认最新
avatar
17
分享帖子
share-weibo分享到微博
share-weibo分享到微信
认证
返回顶部