R语言 单因素(含多个水平的)Logistic回归函数

2023-05-16

单因素Logistic回归分析

转载请注明出处。

最近在做的东西涉及多个变量进行logistic回归,结果要求输出OR值,OR95%可信区间和P值,编写了相关函数。
函数名:logistic_sig
函数参数及输入含义

  1. var_y 结果变量名,需要加引号
  2. varlist 需要分析的变量名列表,以 c(“a”,“b”)这种形式
  3. data 数据集名

函数代码

logistic_sig <- function(var_y,varlist,data){ ##多因素logistic回归
  in_formula <- as.formula(paste(var_y,"~",varlist)) 
  p <- glm(in_formula,family=binomial(link=logit),data=data)
  coeff <- summary(p)$coefficients
  beta <- coeff[,1]
  LCI <- coeff[,1] -coeff[,2]*1.96 
  UCI <- coeff[,1] +coeff[,2]*1.96 
  OR <- round(exp(beta),2)
  OR_LCI <-round(exp(LCI),2)
  OR_UCI <- round(exp(UCI),2)
  p_value <- round(coeff[,4],3)
  name <- var
  data_var <- data.frame(OR,OR_LCI,OR_UCI,p_value)
  data_var <- data_var[-1,]
  return(data_var)
}

代码使用案例

var <-c("sex","age","BMI")
data_log <- logistic_sig("AE",var[1],data1)
for (i in 2:length(var)) {
  data_cur <- logistic_sig("AE",var[i],data1)
  data_log <- rbind(data_log,data_cur)
}

输出结果形式
在这里插入图片描述

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

R语言 单因素(含多个水平的)Logistic回归函数 的相关文章

随机推荐