拟批量执行单因素logistic回归分析,并形成多个指标
uni_glm_model<-function(x){
FML<-as.formula(paste0("hypoglycemia==1~",x)) #hypoglycemia==1,您以后就改绿色的变量即可
glm1<-glm(FML,data = dev,family = binomial)
glm2<-summary(glm1)
#计算我们所要的指标
OR<-round(exp(coef(glm1)),2)
SE<-round(glm2$coefficients[,2],3)
CI2.5<-round(exp(coef(glm1)-1.96SE),2)
CI97.5<-round(exp(coef(glm1)+1.96SE),2)
CI<-paste0(CI2.5,'-',CI97.5)
B<-round(glm2$coefficients[,1],3)
Z<-round(glm2$coefficients[,3],3)
P<-round(glm2$coefficients[,4],3)
#将计算出来的指标制作为数据框
uni_glm_model<-data.frame('characteristics'=x,
'B'=B,
'SE'=SE,
'OR'=OR,
'CI'=CI,
'Z' =Z,
'P'=P)[-1,]
return(uni_glm_model)
}
#指定参与分析的若干自变量X
variable.names<-colnames(dev)[c(2,60)]
variable.names
#运行上面自定义批量执行函数
uni_glm<-lapply(variable.names,uni_glm_model)
##此时出现错误提示
Error in terms.formula(formula, data = data) :
ExtractVars里的模型公式不对
debug 提示:
Called from: terms.formula(formula, data = data)
原来在4.1.2下运行没有问题,现在升级到了4.3.1及最新的Rstudio
谢谢各位指教