我正在尝试使用mixOmics package中的pls
功能。
我的代码如下:
a = rnorm(100)
X = cbind(1, a, a^2, a^3)
Y = rnorm(100)
pls(X,Y)
当我运行它时,我收到以下错误消息:
In pls(X, Y) : Zero- or near-zero variance predictors.
Reset predictors matrix to not near-zero variance predictors.
See $nzv for problematic predictors.
但我不明白问题出在哪里!
答案 0 :(得分:3)
错误告诉您X
中的一个输入变量(或列)的方差为零或非常小。
此处的问题很简单,X
中的pls(X,Y)
包含一个具有常量值的列,因此此变量的方差恰好为零。
如果从数据中删除此列,则pls将起作用;)
X = X[,-1]
pls(X,Y)