我正在尝试使用caret
包进行分类的最小二乘最小二乘。
我的数据集可以找到here。但是我收到一个错误,我无法弄清楚如何纠正。
我使用的代码和收到的错误:
ctrl <- trainControl(method = "cv",number=2, repeats = 2)
plsFit <- train(plant ~ ., data = rf.spec.train,
method = "pls", tuneGrid = data.frame(.ncomp = c(1:10)), trControl = ctrl))
错误:
Error in data.frame(method = "cv", number = 1, repeats = 2, p = 0.75, :
arguments imply differing number of rows: 1, 0, 2
当我使用
tuneLength = xx
而不是tuneGrid
时,不会出现错误。关于我在做什么错的任何建议吗? 最佳答案
我检查了插入符号包here的火车功能的文档。
如果您看一下tunegrid参数的描述,它说:
注意:如果给定,则必须命名此参数。
您输入tunegrid参数的方式未命名。所以我建议创建另一个变量,然后将值分配给该变量,然后将其传递给函数。