0
leaps4 <- regsubsets(Y~X1+X2+X3+X4+X5+X6+X7 + X1:X2 + X1:X3 + X1:X4 + X1:X5 + 
                       X1:X6 + X1:X7 + X2:X3 + X2:X4 + X2:X5 + X2:X6 + X2:X7 + 
                       X3:X4 + X3:X5 + X3:X6 + X3:X7 + X4:X5 + X4:X6 + X4:X7 + 
                       X5:X6 + X5:X7 + X6:X7, 
                     data=prostateData, nbest=1)

我们有 97 个观察值和 7 个变量:

p = rowSums(summary(leaps4)$which)
print (p)
1 2 3 4 5 6 7 8
2 3 4 5 6 7 8 9

我们希望看到不同变量之间的所有相互作用,但我们所写的 p 值仅表示所有变量之间的一种相互作用。那么我们如何编写代码以便 R 程序可以指示所有交互。(我们所写的仅适用于summary()anova(),但也不计算 PRESSp BICp AICp 和 R^2p。)

4

2 回答 2

2

看起来,如果您想显示的不仅仅是“最佳”子集,您将增加 nbest 参数。如果您希望公式包含所有单向和双向交互,只需使用“^2”

library(leaps)
b<-regsubsets(Y  ~  (X1+X2+X3+X4+X5+X6+X7 )^2, 
                 data=prostateData, nbest=10)
于 2014-12-11T19:11:23.027 回答
1

swiss此公式适用于 lm 和 glm 模型,我尝试将其与regsubsets中的内置数据集一起成功使用。

leaps4 <- regsubsets(Y~.*., data=prostateData, nbest=1)

您可能还想查看这篇文章,它使用 glm 进行了描述。

该站点还对 R 中的公式调用进行了很好的细分。

原理证明:

b<-regsubsets(生育力~.*.,data=swiss,nbest=2)

于 2014-12-11T17:23:48.950 回答