2017-07-13 1 views
0

Je suis confus pourquoi mes codes ne fonctionnent pas:ordinale :: predict.clm ne fonctionne pas correctement

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) 

si je fais ceci: prédire (résultat, X_test, type = "classe")

l'erreur est:

variable lengths differ (found for 'X_train') 

, mais les deux X_train et X_test se composent de 5 colonnes (variables) ils diffèrent seulement par le nombre d'observations - - X_train a 5, tandis que X_test a 2.

J'ai essayé

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

l'erreur persiste.

Et si je place ceci: ordinale :: predict.clm (résultat, X_test, type = "classe")

Je reçois cette erreur:

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

mais il est en effet un fonction de ce paquet ...

et si je fais ceci:

x = predict(result, X_test) 

puis x semble avoir été affecté cette fonction predict.clm au lieu de calculs réels ...

Quelqu'un pourrait m'aider ici? Pendu à sécher ....

Répondre