r 中多个数据帧的排名特征选择

Rank Feature selection on Multiple data frames in r

我正在尝试使用 caret 包按重要性对功能进行排名。当我在单个数据帧上尝试它时它工作正常,但是当我尝试将它应用于多个数据帧时我遇到了麻烦。这是我的代码:

require(mlbench)
require(caret)

# Mylist is the list of my data frames

# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)  

# train the model                                                      
model.mylist <- lapply(mylist, train, method = "knn", Industry_proximity~., preProcess = "scale", trControl = control.list.chempsetbio)

我想使用名为 Industry_prox 的列作为训练模型的结果(Industry_prox 在我的所有数据帧上都是相同的列名)。但是直到现在我的代码还不能工作

有谁知道我做错了什么以及如何改正吗? 提前致谢

我没有可重现的示例,所以我使用 mtcars 数据集创建了一个。

library(caret)

df1 <- mtcars
df2 <- mtcars

mylist <- list(df1, df2)

# prepare the training scheme
control.mylist <- trainControl(method = "repeatedcv", number = 10, repeats =3)  


# train the model                                                      
model.mylist <- lapply(mylist, function(x) train(mpg ~., data = x, method = "knn",  preProcess = "scale", trControl = control.mylist))

对于您的代码,最后一行应该是下面的代码。但是我注意到你代码中的trControl和你一开始指定的不一样

model.mylist <- lapply(mylist, function(x) train(Industry_proximity~., data = x, method = "knn",  preProcess = "scale", trControl = control.mylist))