[英]How to run all possible combinations in multiple linear regression model in R
我有一個包含 7 個變量的數據集,我想運行所有可能的組合。 我真正想要的是運行的是選擇不同變量的不同方程,例如:
Y = b_0 + b_1*X_1 + b_2*X_2
Y = b_0 + b_1*X_1 + b_2*X_3
Y = b_0 + b_1*X_1 + b_2*X_2 + b_3*X_3
Y = b_0 + b_1*X_1 + b_2*X_2 + b_3*X_3 + b_2*X_4
Y = b_0 + b_1*X_1 + b_2*X_2 + b_2*X_4
Y = b_0 + b_1*X_1 + b_2*X_4
按此順序所有可能的組合。 我應該如何設置循環功能?
生成示例數據:
dat <- data.frame(
Y = rnorm(100),
X_1 = rnorm(100),
X_2 = rnorm(100),
X_3 = rnorm(100),
X_4 = rnorm(100),
X_5 = rnorm(100),
X_6 = rnorm(100),
X_7 = rnorm(100)
)
找出所有 1 到 7 個變量組合,並將它們粘貼到以 Y 作為因變量的公式中:
variables <- colnames(dat)[2:ncol(dat)]
formulas <- list()
for (i in seq_along(variables)) {
tmp <- combn(variables, i)
tmp <- apply(tmp, 2, paste, collapse="+")
tmp <- paste0("Y~", tmp)
formulas[[i]] <- tmp
}
formulas <- unlist(formulas)
formulas <- sapply(formulas, as.formula)
估計 127 個回歸模型:
models <- lapply(formulas, lm, data=dat)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.