从bestglm包中提取最佳模型的公式(R语言)

3
在 R 中,您可以使用 bestglm 包来运行所有子集回归,并根据您指定的标准选择“最佳”模型。
一个可复制的示例:
require(xlsx)
require(bestglm)
lbw <- read.xls("http://www.umass.edu/statdata/statdata/data/lowbwt.xls")
## Prepare data
lbw.for.best.logistic <- within(lbw, {
    id   <- NULL        # Delete
    bwt  <- NULL
    race <- NULL
    ptl  <- NULL
    ftv  <- NULL

    y    <- low         # bwt into y
    low  <- NULL        # Delete bwt
})

## Reorder variables
lbw.for.best.logistic <-
    lbw.for.best.logistic[, c("age","lwt","race.cat","smoke","preterm","ht","ui","ftv.cat","y")]

## Perform
res.best.logistic <-
    bestglm(Xy = lbw.for.best.logistic,
            family = binomial,          # binomial family for logit
            IC = "AIC",                 # AIC chosen to select models
            method = "exhaustive")

现在,我的目标是从最佳结果中提取回归公式,以便我可以将其传递给函数中的另一个统计过程。最佳模型存储在res.best.logistic$BestModel中,但是该对象的str()中存储的公式仅是对y~.的调用,而不是实际选择的最佳模型。有没有办法提取出最佳模型的公式?

1
你这里缺少一个或两个包。 - David Arenburg
@DavidAreburg 哦,xlsx 使用 read.xlsx。很好。还有其他的吗? - Hack-R
似乎 rjava 也是这样... 因为我安装失败了,又懒得安装它所需要的所有依赖项。 - David Arenburg
@DavidArenburg 是的,rJava 可能是 xlsx 的一个依赖项,但它在这里没有被使用。你可以用 read.table 避开 read.xlsx - Hack-R
1个回答

6

尝试使用formula

formula(res.best.logistic$BestModel)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接