在处理多项逻辑模型时,stepAIC
包中的MASS
函数看到了一些奇怪的行为。以下是一些示例代码:
library(nnet)
library(MASS)
example("birthwt")
race.model <- multinom(race ~ smoke, bwt)
race.model2 <- stepAIC(race.model, k = 2)
在这种情况下,race.model
和race.model2
的条款相同; stepAIC
没有修剪任何东西。但是,我需要查询模型的某些属性,并且race.model2
出现错误:
formula(race.model)[2]
返回race()
但
formula(race.model2)[2]
给出错误:
Error in terms.formula(newformula, specials = names(attr(termobj, "specials"))) :
invalid model formula in ExtractVars
仅当stepAIC
未从模型中删除条款时,才会出现此行为。在以下代码中,stepAIC
删除了术语,并且可以正确查询这两个模型:
race.big <- multinom(race ~ ., bwt)
race.big2 <- stepAIC(race.big, k = 2)
formula(race.big)[2]
formula(race.big2)[2]
关于这里出了什么问题的任何想法?