在R中使用stepAIC或类似函数,估计最佳拟合lm输出并估计以获得摘要

时间:2017-06-28 15:19:55

标签: r regression

来自新R用户的简单问题 - 我试图在几个不同的回归模型中使用stepAIC,我想找出如何基于输出保存/估计回归以获得来自stepAIC的最佳拟合“Call” 。有没有办法做到这一点?谢谢,非常感谢任何帮助。

2 个答案:

答案 0 :(得分:1)

从stepAIC返回的值具有类“aov”和“lm”,因此它将响应lm的普通结果将响应的所有函数。

library(MASS)   # running first example on the help page:
quine.hi <- aov(log(Days + 2.5) ~ .^4, quine)
quine.nxt <- update(quine.hi, . ~ . - Eth:Sex:Age:Lrn)
quine.stp <- stepAIC(quine.nxt,
    scope = list(upper = ~Eth*Sex*Age*Lrn, lower = ~1),
    trace = FALSE)

所以这是它的类值,然后是print - 在控制台上的外观,虽然显然不是它的所有组件。您可以使用names查找这些内容,并通过summary获取更多信息:

> class(quine.stp)
[1] "aov" "lm" 
> quine.stp
Call:
   aov(formula = log(Days + 2.5) ~ Eth + Sex + Age + Lrn + Eth:Sex + 
    Eth:Age + Eth:Lrn + Sex:Age + Sex:Lrn + Age:Lrn + Eth:Sex:Lrn + 
    Eth:Age:Lrn, data = quine)

Terms:
                     Eth      Sex      Age      Lrn  Eth:Sex  Eth:Age  Eth:Lrn
Sum of Squares  10.68203  0.62388  3.76424  0.65290  0.01533  5.98964  0.01246
Deg. of Freedom        1        1        3        1        1        3        1
                 Sex:Age  Sex:Lrn  Age:Lrn Eth:Sex:Lrn Eth:Age:Lrn Residuals
Sum of Squares   8.68925  0.57977  2.38640     4.69558     2.09602  66.59962
Deg. of Freedom        3        1        2           1           2       125

Residual standard error: 0.7299294
2 out of 23 effects not estimable
Estimated effects may be unbalanced

答案 1 :(得分:0)

感谢您的上述回复,内容非常丰富!我找到了一个快速简便的解决方案,即使用lm.beta库,它存储具有低p值的系数。