autoReg | 自动线性和逻辑回归和生存分析
autoReg
可以制作描述性统计汇总表,在各种回归模型中自动选择解释变量。支持线性模型、广义线性模型和环比例风险模型。生成可发表的回归分析结果汇总表和图表。
22
#install.packages("devtools")
devtools::install_github("cardiomoon/autoReg")
library(autoReg)
基线特征描述统计
## 基线特征描述统计
library(moonBook) # 示例数据
data(acs)
library(dplyr)
ft=gaze(sex~.,data=acs) %>% myft()
ft
# library(rrtable)
# table2pptx(ft) #Exported table as Report.pptx
# table2docx(ft) #Exported table as Report.docx
image-20220303202759005
用两个或多个分组变量总结基线特征
gaze(sex+Dx~.,data=acs) %>% myft()
gaze(sex+DM+HBP~age,data=acs) %>% myft()
自动选择解释变量
可以做一个表格总结回归分析的结果。例如,对结肠癌数据进行逻辑回归分析。
library(survival) # For use of data colon
data(cancer)
fit=glm(status~rx+sex+age+obstruct+perfor+nodes,data=colon,family="binomial")
summary(fit)
autoReg(fit) %>% myft()
image-20220303205525754
如果想要一个有更多解释的表,你可以用数字变量来做分类变量。
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()
## 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()
image-20220303205740851
# 如果不想在表中显示参考值,可以缩短表。
shorten(result) %>% myft()
image-20220303210028941
添加单变量模型表和自动选择解释变量
可以将单变量分析的结果添加到表中。此时,autoReg()
函数自动选择阈值(默认值0.2)以下的解释变量,并执行多变量分析。在本表中,解释变量的p
值为性别。因子和年龄均高于缺省阈值(0.2),在多元模型中被排除。
autoReg(fit, uni=TRUE) %>% myft()
image-20220303210304335
如果想在多元模型中包含所有解释变量,只需将阈值设置为1。
autoReg(fit, uni=TRUE,threshold=1) %>% myft()
image-20220303210440179
可以通过逐步的向后消除来选择变量并做出最终的模型。
autoReg(fit, uni=TRUE,threshold=1, final=TRUE) %>% myft()
image-20220303210558082
在图表中总结回归模型的结果
x=modelPlot(fit)
x
# plot2pptx(print(x)) ##Exported plot as Report.pptx
image-20220303210753077
modelPlot(fit,uni=TRUE,threshold=1,show.ref=FALSE)
image-20220303225020724
参考
GitHub - cardiomoon/autoReg: R package autoReg
往期内容
- 跟着Nature学作图 | 配对哑铃图+分组拟合曲线+分类变量热图
- (免费教程+代码领取)|跟着Cell学作图系列合集
- 跟着Nat Commun学作图 | 1.批量箱线图+散点+差异分析
- 跟着Nat Commun学作图 | 2.时间线图
- 跟着Nat Commun学作图 | 3.物种丰度堆积柱状图
- 跟着Nat Commun学作图 | 4.配对箱线图+差异分析
- 跟着 Nat Med. 学作图 | GSVA+limma差异通路分析+发散条形图
网友评论