我很困惑为什么我的代码不能工作:
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)如果我这样做: predict(result,X_test,type="class")
错误是:
variable lengths differ (found for 'X_train')但是X_train和X_test都是由5列(变量)组成的,它们只是观察的数量不同- X_train有5,而X_test有2。
我试过了
setNames(X_test, attr(terms(result),"term.labels"))错误仍然存在。
如果我这样做: ordinal::predict.clm(result,X_test,type=“类”)
我得到了这个错误:
Error: 'predict.clm' is not an exported object from 'namespace:ordinal'但它确实是这个包中的一个函数...
如果我这样做:
x = predict(result, X_test)那么x似乎已经被分配了这个predict.clm函数,而不是实际的计算...
有没有人能帮帮我?已经挂在外面晒干了..。
发布于 2017-07-14 09:13:40
我手动解决了这个问题-在这篇文章之后我自己计算了模型预测:
https://stats.stackexchange.com/questions/41006/predicting-ordered-logit-in-r
https://stackoverflow.com/questions/45071108
复制相似问题