如何在R语言逻辑回归中修改风险比(RR)的参照组水平
解决方案
- 你当前数据集的员工身份是拆分存储为互斥二分类变量的,需要先合并为单个分类因子变量,才能在回归中实现多组对比并自定义参照组。
步骤1:构造分类因子变量并指定参照组
你可以用基础R直接构造,将Subord4设为第一个水平即默认参照组:
df$emp_type <- factor( # 提取每个样本对应的身份标签 apply(df[, c("Boss", "Subord", "Subord2", "Subord3", "Subord4")], 1, function(x) names(x)[x == 1]), # 第一个水平即为参照组,后续顺序可以自定义 levels = c("Subord4", "Boss", "Subord", "Subord2", "Subord3") )
步骤2:拟合回归模型计算对比指标
# 拟合逻辑回归模型 model <- glm(Quit ~ emp_type, family = binomial, data = df) # 查看模型摘要 summary(model) # 计算比值比(OR)及95%置信区间 # 注意:逻辑回归直接对系数取指数得到的是OR,若结局发生率<10%可近似为RR;如需准确计算RR,可将family参数改为poisson(link = "log") exp(cbind(OR = coef(model), confint.default(model)))
如果你确实需要计算准确的相对风险(RR),修改模型拟合代码即可:
# 拟合泊松回归得到准确RR rr_model <- glm(Quit ~ emp_type, family = poisson(link = "log"), data = df) exp(cbind(RR = coef(rr_model), confint.default(rr_model)))
内容的提问来源于stack exchange,提问作者Evan
相关产品推荐
相关产品推荐

