如何将RFE选择的变量插入到r中的机器学习模型中?

How to insert selected variables by RFE into machine learning model in r?

我想用递归特征剔除的方法select将最前面的特征放入机器学习模型中。我把RFE的代码写成

library(mlbench)
library(caret)
control <- rfeControl(functions=rfFuncs, method="cv", number=10)
results <- rfe(train[,1:134], train[,135], sizes=c(1:134),rfeControl=control)
print(results)
predictors(results)

然后代码为我提供了以下主要功能: [1] "a" "b" "c" "d" "e" 最后我将特征放入模型中:

weighted_fit <- train(x ~ a+b+c+d,
data = train,
method = 'glmnet',
trControl = ctrl)

我的问题是,每次 RFE 给我最重要的功能 [1] "a" "b" "c" "d" "e",我都必须编辑它们作为 a+b+c+d 并手动将它们放入模型中,但是,当有 50 个特征 selected 作为顶级特征时,无法编辑它们并将它们放入模型中,是有什么办法可以自动执行此操作。非常感谢您的意见。

help("update")是您要找的吗?

x <- rnorm(10)
a <- 1:10
b <- 11:20
c <- 21:30
d <- rnorm(10)

fmla <- x ~ a

update(fmla, "~b")
#x ~ b

new <- c("b", "c", "d")
update(fmla, paste("~", paste(new, collapse = "+")))
#x ~ b + c + d