R:spls得到错误“错误在一个%*%y:需要数字/复杂矩阵/向量参数”

时间:2014-11-26 14:52:07

标签: r

我在尝试使用R中的spls包时遇到问题。我是新手,并且一直收到以下错误:

library(spls)
data(iris)
TrainData <- iris[,1:4]
TrainClasses <- iris[,5]
cv1 <- cv.spls(TrainData,TrainClasses,eta = seq(0.1,0.9,0.1), K = c(1:3))
# eta = 0.1 
# Error in one %*% y : requires numeric/complex matrix/vector arguments

1 个答案:

答案 0 :(得分:2)

似乎cv.spls并不想为y矢量的响应设置一个因子变量。这似乎有效

TrainClasses <- model.matrix(~Species+0, data=iris)
cv1 <- cv.spls(TrainData, TrainClasses, 
    eta = seq(0.1,0.9,0.1), K = c(1:3))

TrainClasses <- as.numeric(iris[,5])
cv1 <- cv.spls(TrainData, TrainClasses, 
    eta = seq(0.1,0.9,0.1), K = c(1:3))

取决于您想要如何解释物种。