前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >🤩 autoReg | 分分钟输出各种发表级回归图表(二)

🤩 autoReg | 分分钟输出各种发表级回归图表(二)

作者头像
生信漫卷
发布2022-10-31 17:12:37
1.6K0
发布2022-10-31 17:12:37
举报
文章被收录于专栏:R语言及实用科研软件

1写在前面

本期继续介绍git上的神包,autoReg,如果你认为它只能像table1一样的完成统计表的输出, 那你就小看它啦!~ 它更为重要的应用就是单因素回归分析多因素回归分析等等。 应用场景:危险因素探索、预后因素探索等。

2用到的包

代码语言:javascript
复制
rm(list = ls())
#devtools::install_github("cardiomoon/autoReg")
library(autoReg)
library(tidyverse)
library(ggsci)

3示例数据

本期示例数据为survival包中的cancer数据集。

代码语言:javascript
复制
library(survival)
data(cancer)

4多因素logistic回归

这里我们以logistic回归为例,进行演示,大家在应用的时候,依据结局变量的不同选择不同方法建模即可。

4.1 建模

代码语言:javascript
复制
fit <- glm(status~rx+sex+age+obstruct+perfor+nodes,
           data=colon,
           family="binomial")
summary(fit)

4.2 整理数据为table

这里我们快速整理成方便阅读的表格形式,配合myft()直接输出成发表级

代码语言:javascript
复制
autoReg(fit) %>% 
   myft()

4.3 更改label

上面的表格显示为01,并不方便阅读,当然你可以选择在word中更改。 这里我们将其转为factor,并设置label

代码语言:javascript
复制
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函数吧。

代码语言:javascript
复制
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,如果你并想它显示的话, 可以这样做:

代码语言:javascript
复制
shorten(result) %>% myft()

5单+多因素logistic回归

5.1 加入单因素回归

这里我们加上单因素logistic回归的结果。

代码语言:javascript
复制
autoReg(fit, uni=TRUE) %>% 
  myft()

5.2 纳入所有变量

我们将threshold设定为1,纳入所有变量进入多因素分析。你可以根据自己的需要设置threshold

代码语言:javascript
复制
autoReg(fit, uni=TRUE,threshold=1) %>% 
  myft()

5.3 建立最终模型

我们将通过筛选的变量,纳入最终的模型吧,即final设为T

代码语言:javascript
复制
autoReg(fit, uni=TRUE,threshold=1, final=TRUE) %>% 
  myft()

6回归结果的可视化

6.1 单一结果可视化

这里我们用森林图的形式,先可视化一下多因素logistic回归的结果吧。

颜值也就是凑活吧。。。。😂

代码语言:javascript
复制
modelPlot(fit,change.pointsize = T)

6.2 多结果可视化

接着我们同时展示单因素logistic回归多因素logistic回归的结果吧。 顺便我们改一下颜色吧,提高一下颜值~🤒

代码语言:javascript
复制
p2 <- modelPlot(fit,uni=TRUE,
          threshold=1,
          show.ref=FALSE,
          change.pointsize = T)

p2$p <- p2$p+
  scale_fill_nejm()+
  scale_color_nejm()

p2

最后祝大家早日不卷!~


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

本文分享自 生信漫卷 微信公众号,前往查看

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 1写在前面
  • 2用到的包
  • 3示例数据
  • 4多因素logistic回归
    • 4.1 建模
      • 4.2 整理数据为table
        • 4.3 更改label
          • 4.4 设置变量的label
            • 4.5 不显示reference
            • 5单+多因素logistic回归
              • 5.1 加入单因素回归
                • 5.2 纳入所有变量
                  • 5.3 建立最终模型
                  • 6回归结果的可视化
                    • 6.1 单一结果可视化
                      • 6.2 多结果可视化
                      领券
                      问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档