繁体   English   中英

通过R中线性回归的两个预测变量组合

[英]By two combinations of predictors in linear regression in R

假设我有X1,...,X14潜在预测变量。

现在,对于给定的Y我想制定OLS方案:

Y~X1+X2
Y~X1+X3
 ....
Y~X1+X14
....
Y~X14+X13

这基本上是所有预测变量的两个组合。 创建所有这些回归之后,我想在predict函数中使用它们(如果可能)。

我的问题是:如何通过回归变量的两个组合对所有这些回归进行回归?

您可以使用combn的全部组合中,然后使用apply创建的所有公式:

#all the combinations
all_comb <- combn(letters, 2)

#create the formulas from the combinations above and paste
text_form <- apply(all_comb, 2, function(x) paste('Y ~', paste0(x, collapse = '+')))

产量

> text_form
  [1] "Y ~ a+b" "Y ~ a+c" "Y ~ a+d" "Y ~ a+e" "Y ~ a+f" "Y ~ a+g".....

然后,您可以使用as.formula将上述公式输入到回归中,以将文本转换为公式(最有可能在另一个apply )。

您也可以将它们放在公式的一行中,如下所示:

mySpecs <- combn(letters[1:3], 2, FUN=function(x) reformulate(x, "Y"),
                 simplify=FALSE)

它返回一个可以在lapply用于运行回归的列表:

mySpecs
[[1]]
Y ~ a + b
<environment: 0x4474ca0>

[[2]]
Y ~ a + c
<environment: 0x4477e68>

[[3]]
Y ~ b + c
<environment: 0x447ae38>

然后,您将执行以下操作以获取回归结果列表。

myRegs <- lapply(mySpecs, function(i) lm(i, data=df))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM