在处理多项逻辑模型时,我看到包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]
关于这里出了什么问题的任何想法?