2017-07-13 148 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功能,而不是实际计算...

任何人都可以帮助我在这里?被悬挂晾干....

回答