我已经尝试了多种方法,但无法使其工作,并且不知道为什么。输入数据框的计算方式与Max Kuhn在caret R文档中指定的方式相同。我的数据集由362个预测变量和一列具有2个水平的因子组成。我执行以下代码:
set.seed(150)ctrl_rf <- rfeControl(functions = 'rfFuncs', method = "cv", number = 10, rerank = T #折数 )y <- fTR[,'defective'] x <- fTR[,1:362]normalization <- preProcess(x)x <- predict(normalization, x)x <- as.data.frame(x)rferf <- rfe( x, y, #sizes = c(10,50,100,200,362), metric = "Kappa", #maximize=TRUE, rfeControl = ctrl_rf)
然而,在执行代码时,我一直收到以下错误:
错误:$运算符对原子向量无效
我做错了什么?
回答:
在将functions = 'rfFuncs'
替换为functions = rfFuncs
后重新运行您的代码,即从函数名中删除''
。