ggstats包,基于ggplot2语法绘制森林图 时快讯

2023-05-16 15:26:35 来源:医学论文与统计分析

今天来学习一个新的R包——ggstats包。

这个R包是ggplot2的扩展包,使用这个R包可以快速回归模型的系数结果,也就是可以使用这个R包来绘制森林图。


(相关资料图)

绘制森林图图形如下:

下面来学习下这个R包。

1. 安装和加载R包

安装R 包可以直接从CRAN 上安装。

install.packages(\"ggstats\")library(ggstats)library(survival)#加载数据library(dplyr)#处理数据需要

2. 加载数据

使用colon 数据集进行演示。

data(colon)#加载数据集str(colon)#查看数据集结构

查看数据集介绍,可以知道有些变量是分类变量,但是加载进来的数据集变量还是数字型,我们处理一下。

data(colon)#加载数据集mycolon<-colon%>%transmute(time,status,Age=age,Sex=factor(sex,levels=c(0,1),labels=c(\"Female\",\"Male\")),Obstruct=factor(obstruct,levels=c(0,1),labels=c(\"No\",\"Yes\")),Differ=factor(differ,levels=c(1,2,3),labels=c(\"well\",\"moderate\",\"poor\")),Extent=factor(extent,levels=c(1,2,3,4),labels=c(\"submucosa\",\"muscle\",\"erosa\",\"contiguousstructures\")))

如上代码所示,我将colon 数据集中的部分变量转换了因子,并新建了一个数据集mycolon,下面使用mycolon 数据集进行演示。

3. 拟合模型

我们拟合逻辑回归模型。

fit.cox<-glm(status~Age+Sex+Obstruct+Differ+Extent,binomial(link=\"logit\"),data=mycolon)

然后查看回归模型的结果。

summary(fit.cox)

4. 回归模型可视化

可以使用ggstats包的ggcoef_model()函数来可视化回归模型的系数。

ggcoef_model(fit.cox)

如上所示,横坐标为系数值,纵坐标为各变量及分类水平。

可以使用exponentiate参数来将系数转化为OR值。

ggcoef_model(fit.cox,exponentiate=TRUE)

5. 调整参数自定义美化图形

也可以调整其他参数来自定义图形。

比如调整show_p_values 参数来去掉纵坐标的P值。

ggcoef_model(fit.cox,exponentiate=TRUE,show_p_values=FALSE)

可以调整signif_stars 参数来去掉纵坐标的星号值。

ggcoef_model(fit.cox,exponentiate=TRUE,show_p_values=FALSE,signif_stars=FALSE)

可以使用errorbar_height来调整误差棒的高度;使用point_size参数来调整OR点的大小。

ggcoef_model(fit.cox,exponentiate=TRUE,show_p_values=FALSE,signif_stars=FALSE,errorbar_height=0.4,point_size=3)

同样既然是ggplot2扩展包,那么ggplot2的一些语法也是可以直接使用的。

比如使用黑白主题。

ggcoef_model(fit.cox,exponentiate=TRUE,show_p_values=FALSE,signif_stars=FALSE)+ggplot2::theme_bw()

其他主题也可以看看,比如theme_linedraw()。

另外可以去掉图例。

ggcoef_model(fit.cox,exponentiate=TRUE,show_p_values=FALSE,signif_stars=FALSE)+ggplot2::theme_light()+ggplot2::theme(legend.position=\"none\")

如果要调整更多的参数,可以查看函数的帮助文档。

参考文档

ggstats包帮助文档

关注下方公众号,分享更多更好玩的R语言知识。

点个在看,SCI马上发表。

上一篇:

天天微动态丨海外大单频现,风电或迎史上最大交付旺季

下一篇:

天天微动态丨海外大单频现,风电或迎史上最大交付旺季

推荐阅读