jamesbang

V1

2022/09/13阅读:24主题:雁栖湖

🤩 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

上面的表格显示为01,并不方便阅读,当然你可以选择在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 卷起来了