簡體   English   中英

如何在R中生成A Model中變量的所有可能組合?

[英]How Do I Generate All Possible Combinations of the Variables In A Model In R?

假設我有一個包含多個變量的表, a - h ,其中h是目標/y/預測變量:

a <- rnorm(10,5,1)
b <- rnorm(10,5,1)
c <- rnorm(10,5,1)
d <- rnorm(10,5,1)
e <- rnorm(10,5,1)
f <- rnorm(10,5,1)
g <- rnorm(10,5,1)
h <- rnorm(10,5,1)

df = data.frame(a,b,c,d,e,f,g,h)

我想運行AIC以確定最好的 model 來預測h 為此,我需要運行df[1:7]的每一個組合。 所以我需要以下 AIC:

lm(fomula= h ~ a+b+c+d+e+f+g)
lm(fomula= h ~ a+b+c+d+e+f)
lm(fomula= h ~ a+b+c+d+e)

以及變量的所有其他配置。 有什么辦法可以做到這一點嗎?

要獲得我嘗試過的變量的所有可能公式:

library(combinat)
combn(colnames(df[,1:7]))

但是,我只得到:

[1] "a" "b" "c" "d" "e" "f" "g"

由於上面代碼的output與我最終想要的相去甚遠。

使用step function。這應該給你最好的 model:

step(lm(h~., df),direction = 'both', trace = 0)

Call:
lm(formula = h ~ b + e + f, data = df)

Coefficients:
(Intercept)            b            e            f  
     4.3494      -0.8705      -0.3266       1.2877  

這個 model 具有最低的AIC 您可以更改trace = 1以查看運行的中間模型

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM