ordinal::predict.clm 无法正常工作

ordinal::predict.clm not working properly

我很困惑为什么我的代码不起作用:

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,类型="class")

错误是:

variable lengths differ (found for 'X_train')

但是 X_trainX_test 都由 5 列(变量)组成,它们只是观察次数不同 --- X_train5,而 X_test 得到了 2.

我试过了

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

错误仍然存​​在。

如果我改为这样做: ordinal::predict.clm(结果,X_test,类型="class")

我收到这个错误:

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

但它确实是这个包中的一个函数...

如果我这样做:

x = predict(result, X_test)

然后 x 似乎已分配给此 predict.clm 函数而不是实际计算...

有没有好心人帮帮我?被挂起来晾干....

我通过手动解决了这个问题 --- 按照这个 post:

自己计算模型预测

https://stats.stackexchange.com/questions/41006/predicting-ordered-logit-in-r