2014-09-01 62 views
1

我正在嘗試使用mixOmics package中的pls函數。MixOmics包中的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. 

但我不明白問題出在哪裏!

回答

3

該錯誤告訴您,您的輸入變量(或列)X中的一個具有零或非常小的方差。

在這裏,問題很簡單,你的Xpls(X,Y)包含一個具有常數值的列,所以這個變量的方差恰好爲零。

如果您從數據中刪除此列,將PLS將工作;)

X = X[,-1] 
pls(X,Y)