我正在尝试对部分数据进行逻辑回归。 这是我的代码:
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个或更多级别的因素
答案 0 :(得分:2)
您的子集选择已关闭。通过将&
(“ AND”)用于互斥级别,您实际上最终得到一个空的数据集(例如说“选择所有绿色和棕色的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)