各位专家,我想用caret包实现支持向量回归+RFE,用的是包内自带的iris数据,代码如下:
library(caret)
x<-iris[,-1]
y<-iris[,1]
subsets <- c(1:5, 10, 15, 20, 25,30,35,40,45,50,55)
set.seed(24)
fiveStats <- function(...) c(twoClassSummary(...), defaultSummary(...))
caretFuncs$summary <- fiveStats
fitControl <- trainControl(method = "cv", repeats = 5, classProbs = F, summaryFunction = fiveStats, search = "grid",savePredictions = T)
tunegrid <- expand.grid(.sigma = 2^(-10:4), .C=2^(-4:10))
rfe.full <- rfeControl(functions = caretFuncs, method = "cv", repeats = 5, verbose = FALSE)
svmProfile <- rfe(x,y, sizes = subsets, metric = "RMSE", trControl = fitControl, rfeControl = rfe.full)
这段代码运行结果报错:Error in `$<-.data.frame`(`*tmp*`, "y", value = numeric(0)) : replacement has 0 rows, data has 10
请教专家,应该怎样解决呢,谢谢!