【问题标题】:Extract Best Model's Formula from bestglm Package in R从 R 中的 bestglm 包中提取最佳模型的公式
【发布时间】:2014-12-23 05:26:33
【问题描述】:

在 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~. 的调用,而不是实际选择的最佳模型。

有没有办法确定最佳模型的公式?

【问题讨论】:

  • 你这里少了一两个包
  • @DavidAreburg 哦,xlsx 使用 read.xlsx。很公平。还有其他人吗?
  • rjava 好像也...因为我没有安装它并且懒得安装它需要的所有依赖项
  • @DavidArenburg 是的,rJava 可能是 xlsx 或其他东西的依赖项,但它不是这里使用的库。您可以通过read.table 绕过read.xlsx

标签: r glm


【解决方案1】:

试试formula:

formula(res.best.logistic$BestModel)

【讨论】:

    猜你喜欢
    • 2012-03-30
    • 1970-01-01
    • 1970-01-01
    • 2017-01-10
    • 1970-01-01
    • 2014-02-14
    • 2016-07-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多