一行代码展示回归模型结果森林图

今天看到一个帖子,主要介绍forestmodel包,可以轻松制作回归模型结果森林图,图片简洁、美观大方,忍不住要分享一下。
原帖地址:如何根据回归模型制作森林图?一行代码搞定!; 公众号为:R语言和统计

  1. 加载R包
#install.packages("forestmodel")

library(forestmodel)   # 森林图
library(ggplot2)       # 使用到里面的数据集“msleep”
library(dplyr)         # 数据处理
library(survival)      # 生存分析
  1. 使用内置数据集msleep拟合线性回归模型
# 拟合线性回归模型
linear_model <- lm(sleep_total ~ brainwt + bodywt + sleep_rem + vore, data = msleep)

# 森林图
forest_model(linear_model)
image.png
  1. 使用内置数据集lung拟合logistic回归模型
# 数据预处理
# 将lung做一些修改,再保存到mydata
mydata <- lung %>%
  mutate(gender = factor(sex, labels = c("Male", "Female")), 
         status = factor(status))

# 建立回归模型
logit_model <- glm(status ~ age + gender + ph.ecog, data = mydata, family = "binomial")

# 制作森林图
forest_model(logit_model)
image.png
  1. 使用内置数据集lung拟合cox回归模型
# 数据预处理
# 创建数据mydata1
mydata1 <- lung %>%
  mutate(gender = factor(sex, labels = c("Male", "Female")))
# 拟合生存分析模型
surv_model <- coxph(Surv(time, status) ~ age + gender + ph.ecog, data = mydata1)
# 制作森林图
forest_model(surv_model)
image.png
  1. 个性化美化
forest_model(
  surv_model, 
  format_options = forest_model_format_options(colour = "steelblue",  # 修改颜色       
                                               shape = 15,            # 改变形状
                                               text_size = 3.8,       # 字体文本的大小
                                               point_size = 6,        # 森林图中“方框”的大小
                                               banded = TRUE),        # 如“FALSE”,可去掉森林图背景条带
  factor_separate_line = TRUE    # 如为分类变量,需换行;比如Male,Female与gender不在同一行。
)
image.png

你可能感兴趣的:(一行代码展示回归模型结果森林图)