
jamesbang
V1
2022/09/13阅读:32主题:雁栖湖
🤩 autoReg | 分分钟输出各种发表级回归图表(二)

1写在前面
本期继续介绍git
上的神包,autoReg
,如果你认为它只能像table1
一样的完成统计表
的输出, 那你就小看它啦!~
它更为重要的应用就是单因素回归分析
和多因素回归分析
等等。
应用场景:危险因素探索、预后因素探索等。
2用到的包
rm(list = ls())
#devtools::install_github("cardiomoon/autoReg")
library(autoReg)
library(tidyverse)
library(ggsci)
3示例数据
本期示例数据为
survival
包中的cancer
数据集。
library(survival)
data(cancer)

4多因素logistic回归
这里我们以logistic回归
为例,进行演示,大家在应用的时候,依据结局变量的不同选择不同方法建模即可。
4.1 建模
fit <- glm(status~rx+sex+age+obstruct+perfor+nodes,
data=colon,
family="binomial")
summary(fit)

4.2 整理数据为table
这里我们快速整理成方便阅读的表格形式,配合myft()
直接输出成发表级。
autoReg(fit) %>%
myft()

4.3 更改label
上面的表格显示为0
和1
,并不方便阅读,当然你可以选择在word中更改。
这里我们将其转为factor
,并设置label
。
colon$status.factor <- factor(colon$status,labels=c("Alive","Died"))
colon$obstruct.factor <- factor(colon$obstruct,labels=c("No","Yes"))
colon$perfor.factor <- factor(colon$perfor,labels=c("No","Yes"))
colon$sex.factor <- factor(colon$sex,labels=c("Female","Male"))
fit <- glm(status.factor~rx+sex.factor+age+obstruct.factor+perfor.factor+nodes,
data=colon,
family="binomial")
result <- autoReg(fit)
result %>%
myft()

4.4 设置变量的label
给变量名
加label
的话,我们就用setLabel
函数吧。
colon$status.factor <- setLabel(colon$status.factor,"Mortality")
colon$rx <- setLabel(colon$rx,"Treatment")
colon$age <- setLabel(colon$age,"Age(Years)")
colon$sex.factor <- setLabel(colon$sex.factor,"Sex")
colon$obstruct.factor <- setLabel(colon$obstruct.factor,"Obstruction")
colon$perfor.factor <- setLabel(colon$perfor.factor,"Perforation")
colon$nodes <- setLabel(colon$nodes,"Positive nodes")
fit <- glm(status.factor~rx+sex.factor+age+obstruct.factor+perfor.factor+nodes,
data=colon,
family="binomial")
result <- autoReg(fit)
result %>%
myft()

4.5 不显示reference
在回归分析中,有一组会作为我们的参照组,即reference
,如果你并想它显示的话, 可以这样做:
shorten(result) %>% myft()

5单+多因素logistic回归
5.1 加入单因素回归
这里我们加上单因素logistic回归
的结果。
autoReg(fit, uni=TRUE) %>%
myft()

5.2 纳入所有变量
我们将threshold
设定为1,纳入所有变量进入多因素分析。你可以根据自己的需要设置threshold
。
autoReg(fit, uni=TRUE,threshold=1) %>%
myft()

5.3 建立最终模型
我们将通过筛选的变量,纳入最终的模型吧,即final
设为T
。
autoReg(fit, uni=TRUE,threshold=1, final=TRUE) %>%
myft()

6回归结果的可视化
6.1 单一结果可视化
这里我们用森林图
的形式,先可视化一下多因素logistic回归
的结果吧。
颜值也就是凑活吧。。。。😂
modelPlot(fit,change.pointsize = T)

6.2 多结果可视化
接着我们同时展示单因素logistic回归
和多因素logistic回归
的结果吧。
顺便我们改一下颜色吧,提高一下颜值~🤒
p2 <- modelPlot(fit,uni=TRUE,
threshold=1,
show.ref=FALSE,
change.pointsize = T)
p2$p <- p2$p+
scale_fill_nejm()+
scale_color_nejm()
p2


点个在看吧各位~ ✐.ɴɪᴄᴇ ᴅᴀʏ 〰

作者介绍

jamesbang
V1
wx🔍: Grassssss 卷起来了