我有以下 Dataframe 和拟合模型:
goyo <- data.frame(
Grade <- c(8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 6, 8, 8, 8, 7, 7, 7, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8, 8),
a <- c(NA, 0, NA, NA, NA, NA, NA, NA, NA, NA, 1, NA, 1, 1, NA, 1, NA, 1, NA, 1, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA),
b <- c(0, NA, NA, NA, NA, NA, NA, NA, 0, NA, NA, NA, NA, 0, NA, NA, NA, 1, NA, NA, 1, NA, 0, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA, NA)
)
goyo$Grade <- factor(goyo$Grade)
glm(reformulate(c("Grade"), "a"), family=binomial, data = goyo)
glm(reformulate(c("Grade"), "b"), family=binomial, data = goyo)
字符串
当我运行“B”列的拟合模型时,我得到错误:
Error in `contrasts<-`(`*tmp*`, value = contr.funs[1 + isOF[nn]]) :
contrasts can be applied only to factors with 2 or more levels
型
这看起来像是与水平的数量有关。然而,这两列看起来几乎相同,我不明白它们之间的区别是什么,使它们给予不同的结果。
1条答案
按热度按时间ovfsdjhp1#
glm(b ~ Grade)
根据以下条件删除缺失字符串
没有对比度可以应用于等级,这解释了
型
检查
goyo[complete.cases(goyo[c('Grade', 'a')]), ]
,它与a ~ Grade
不同。顺便说一句,把成绩倒退到b不是更有意义吗?
型