【问题标题】:Contrasts error when running logistic regression运行逻辑回归时的对比错误
【发布时间】:2019-01-04 15:25:05
【问题描述】:

我正在尝试对数据子集进行逻辑回归。 这是我的代码:

     reg1 <- glm(smoke_binary~ Age + Marital.Status + Highest.Qualification, 
     data = subset(uf_train,(uf_train$Marital.Status=="Married" &
                             uf_train$Marital.Status=="Separated" & 
                             uf_train$Marital.Status=="Widowed" & 
                             uf_train$Marital.Status== "Divorced" & 
                             uf_train$Highest.Qualification=="GCSE/CSE" &
                             uf_train$Highest.Qualification=="O Level" &
                             uf_train$Highest.Qualification=="A Levels")),
     family=binomial)

但我不断收到此错误。我不知道这意味着什么或如何解决它:

contrasts&lt;-(*tmp*, value = contr.funs[1 + isOF[nn]]) 中的错误: 对比只能应用于具有 2 个或更多级别的因素

【问题讨论】:

  • 你有没有在 Stack Overflow 上搜索/搜索过这个错误消息...?

标签: r logistic-regression


【解决方案1】:

您的子集选择已关闭。通过使用 &amp; ("AND") 来表示互斥级别,您实际上会得到一个空数据集(比如说“选择所有绿色和棕色的 M&Ms”)。在调试的时候,单独做子集选择是有帮助的,这样你就可以检查结果了...

glm_data <- subset(uf_train,
         Marital.Status %in% c("Widowed", "Married", "Separated", "Divorced") &
         Highest.Qualification %in% c("GCSE/CSE", "O Level", "A Levels"))
nrow(glm_data)
table(glm_data$Marital.Status)
table(glm_data$Highest.Qualification)

【讨论】:

  • 我试过运行你的代码,而 glm_data 有 0 个变量,为什么?
猜你喜欢
  • 1970-01-01
  • 2016-02-21
  • 2019-03-05
  • 1970-01-01
  • 1970-01-01
  • 2021-01-30
  • 2019-05-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多