我正在尝试使用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
时,我不会收到错误。关于我做错了什么的建议?
答案 0 :(得分:1)
我检查了插入符号包here的列车功能的文档。
如果你看一下tunegrid参数的描述,它会说:
注意:如果给定,则必须命名此参数。
您输入tunegrid参数的方式,它未命名。所以我建议创建另一个变量并将值赋给此变量,然后将其传递给函数。