2017-07-13 101 views
0

我很困惑,爲什麼我的代碼不工作:序:: predict.clm不能正常工作

library(ordinal) 
X_train = matrix(rnorm(25,5,5), 5,5) 
colnames(X_train) = paste("Topic", 1:5) 
Y_train = as.factor(c(4,2,1,3,2)) 

result = clm(Y_train ~ X_train) 
X_test = matrix(norm(10,5,4),nrow=2,ncol=5) 

如果我這樣做: 預測(結果,X_test,TYPE = 「類」)

錯誤是:

variable lengths differ (found for 'X_train') 

但兩者X_trainX_test5列(變量),他們只是通過觀察數不同 - - X_train已得到5,而X_test已得到2

我已經試過

setNames(X_test, attr(terms(result),"term.labels")) 

錯誤仍然存​​在。

如果我不是這樣做: 序:: predict.clm(結果,X_test,TYPE = 「類」)

我得到這個錯誤:

Error: 'predict.clm' is not an exported object from 'namespace:ordinal' 

,但它確實是一個從這個包的功能...

,如果我這樣做:

x = predict(result, X_test) 

然後x似乎已被分配此predict.clm功能,而不是實際計算...

任何人都可以幫助我在這裏?被懸掛晾乾....

回答