Контрастная ошибка при выполнении логистической регрессии - PullRequest
0 голосов
/ 04 января 2019

Я пытаюсь сделать логистическую регрессию с подмножеством данных. Это мой код:

     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<- (*tmp*, значение = contr.funs [1 + isOF [nn]]): контрасты могут применяться только к факторам с 2 или более уровнями

1 Ответ

0 голосов
/ 04 января 2019

Ваш выбор поднабора выключен. Используя & («И») для взаимоисключающих уровней, вы фактически получаете пустой набор данных (например, говорите «выберите все M & M, которые являются зелеными и коричневыми»). При отладке помогает выбрать подмножество отдельно, чтобы вы могли проверить результаты ...

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)
...