前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >「R」ezcox 森林图中点估计方块大小设定

「R」ezcox 森林图中点估计方块大小设定

作者头像
王诗翔呀
发布2020-07-03 17:54:27
1.2K0
发布2020-07-03 17:54:27
举报
文章被收录于专栏:优雅R

这篇文章与 https://github.com/ShixiangWang/MessageBoard/issues/69[1]https://github.com/ShixiangWang/ezcox/issues/12[2] 相关。


之前开发的 ezcox 包提供了批量建模和展示森林图的功能,我自认为森林图要比 ggpubr 提供的 ggforest 好看。森林图的绘制实际是基于 forestmodel[3] 的实现。

forestmodel 一个简单的使用示例如下:

代码语言:javascript
复制
library("forestmodel")
#> 载入需要的程辑包:ggplot2
library("survival")
library("dplyr")
#> 
#> 载入程辑包:'dplyr'
#> The following objects are masked from 'package:stats':
#> 
#>     filter, lag
#> The following objects are masked from 'package:base':
#> 
#>     intersect, setdiff, setequal, union
pretty_lung <- lung %>%
  transmute(time,
            status,
            Age = age,
            Sex = factor(sex, labels = c("Male", "Female")),
            ECOG = factor(lung$ph.ecog),
            `Meal Cal` = meal.cal)

print(forest_model(coxph(Surv(time, status) ~ ., pretty_lung)))

有读者说展示点估计的方块比较大,能否方便调节。我检查了下这个设置的底层代码,发现默认设定是 5,由于 forestmodel 包本身没有支持这个设定的修改,所以我只有改源码解决。

安装修改后的版本:

代码语言:javascript
复制
remotes::install_github("ShixiangWang/forestmodel")

修改方式如下:

代码语言:javascript
复制
pretty_lung <- lung %>%
  transmute(time,
            status,
            Age = age,
            Sex = factor(sex, labels = c("Male", "Female")),
            ECOG = factor(lung$ph.ecog),
            `Meal Cal` = meal.cal)

print(forest_model(coxph(Surv(time, status) ~ ., pretty_lung),
                   format_options= forestmodel::forest_model_format_options(point_size = 3)))

这个修改也可以直接应用到 ezcox 的图形绘制中去。

不需要更新 ezcox ”

代码语言:javascript
复制
library(ezcox)
#> Welcome to 'ezcox' package!
#> =======================================================================
#> You are using ezcox version 0.4.0
#> 
#> Github page  : https://github.com/ShixiangWang/ezcox
#> Documentation: https://shixiangwang.github.io/ezcox/articles/ezcox.html
#> 
#> Run citation("ezcox") to see how to cite 'ezcox'.
#> =======================================================================
#> 
show_forest(lung, covariates = c("sex", "ph.ecog"), controls = "age", 
            format_options= forestmodel::forest_model_format_options(point_size = 3))
#> => Processing variable sex
#> ==> Building Surv object...
#> ==> Building Cox model...
#> ==> Done.
#> => Processing variable ph.ecog
#> ==> Building Surv object...
#> ==> Building Cox model...
#> ==> Done.

参考资料

[1]https://github.com/ShixiangWang/MessageBoard/issues/69: https://github.com/ShixiangWang/MessageBoard/issues/69

[2]https://github.com/ShixiangWang/ezcox/issues/12: https://github.com/ShixiangWang/ezcox/issues/12

[3]forestmodel: https://github.com/NikNakk/forestmodel

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-05-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 优雅R 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 参考资料
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档