R海拾遗——批量逻辑回归
概述
检索批量代码,用于初步探索,批量操作,逻辑回归是一个非常经典的算法,但是R给出的回归并不是一个需要的模式,通常情况下,我们只是需要它的OR值和95%可信区间,因此有必要将这部分纳入到函数中,进行批量操作,凑够字数。
例子
代码语言:javascript复制glm_re <- function(gs, data) {
re<-glm(as.formula(gs),data=data,family=binomial())
or <- exp(coef(re))[2]
zhixin<- exp(confint(re))
or_low <- zhixin[2,1]
or_high <- zhixin[2,2]
result <- data.frame(or,or_low,or_high)
return(result)
}
data为纳入的数据集 gs:为需要检索的公式,建议通过循环来进行书写,如下,忘记了,那个被我取代了,哈哈哈,循环的找不到了。
代码语言:javascript复制# 其中sufi为公式的后半部分
make_gs <- function(sufi) {
gs_ <- c(
paste0("y1",sufi),
paste0("y2",sufi),
paste0("y3",sufi),
paste0("y4",sufi),
paste0("y5",sufi),
paste0("y6",sufi)
)
return(gs_)
}
合并多个回归结果
代码语言:javascript复制log_re <- function(gs_,data) {
r1 <- glm_re(gs_[1], data)
r2 <- glm_re(gs_[2], data)
r3 <- glm_re(gs_[3], data)
r4 <- glm_re(gs_[4], data)
r5 <- glm_re(gs_[5], data)
r6 <- glm_re(gs_[6], data)
result3 <- rbind(r1,r2,r3,r4,r5,r6)
return(result3)
}
summary
主要还是回归返回OR值和置信区间,后面的由于循环写公式的内容丢失,所以看起来还是不太方便。
love&peace