首页 > 解决方案 > glm() 误差对比只能应用于具有 2 个或更多级别的因子

问题描述

我正在使用一些数据集创建逻辑回归模型。尽管删除了仅包含一个级别的因素,但我仍然收到错误消息:

> fit <- glm(Intraop_Blood_Products ~ ., family = binomial(), na.action = na.omit, data = rel_data)
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) : 
  contrasts can be applied only to factors with 2 or more levels

虽然我不能分享数据的特定组成。函数str(rel_data)显示所有因子变量都包含两个或多个级别。此外,我尝试使用complete_case_data <- rel_data[complete.cases(rel_data),]从数据集中删除所有 NA,因为另一个用户建议 glm() 可能由于 NA 的存在而引发此错误,但错误仍然存​​在. 如果您能提供任何见解,请告诉我。谢谢!

标签: rlogistic-regressionglm

解决方案


推荐阅读