Prédire la fonction d'erreur pour les probabilités dans glmnet?

Je suis en train d'essayer de prédire les probabilités dans un dataset à l'aide glmnet. Mon code se lit comme suit:

bank <- read.table("http://www.stat.columbia.edu/~madigan/W2025/data/BankSortedMissing.TXT",header=TRUE)
bank$rich<-sample(c(0:1), 233, replace=TRUE)
    train=bank[1:200,];
    test=bank[201:233,]
    x=model.matrix(rich~., bank)[,-1]
    cv.out=cv.glmnet(x, train$rich, alpha=0, family="binomial")
ridge.mod=glmnet(x, train$rich, alpha=0, family="binomial")
    bank$rich <- NULL
newx = data.matrix(test$rich)
ridge.pred=predict(ridge.mod,newx=newx)

train = data[1:2500,];
test = data[2501:5088,];
x=model.matrix(Y~x1+x2+x3+x4+x5+x6, data)[,-1]
cv.out=cv.glmnet(x, data$Y, alpha=0, family="binomial")
    bestlam=cv.out$lambda.min
ridge.mod=glmnet(x, data$Y, alpha=0, family="binomial")
    test$Y <- NULL
newx = data.matrix(test)
ridge.pred = predict(ridge.mod,newx=newx, type="response")

Je reçois ce message d'erreur lors de l'utilisation de prédire:

Erreur.matrice(cbind2(1, newx) %*% nbeta) :
erreur dans l'évaluation de l'argument " x " dans la sélection d'une méthode pour la fonction 'comme.matrice': Erreur dans la t(.Appel(Csparse_dense_crossprod, y, t(x))) :
erreur dans l'évaluation de l'argument " x "dans la sélection d'une méthode pour la fonction "t": Erreur: Cholmod erreur "X et/ou Y avoir de mauvaises dimensions" au fichier ../MatrixOps/cholmod_sdmult.c, la ligne 90

J'ai essayé cela sur les "Frappeurs" dataset et il fonctionne parfaitement bien.

library(ISLR);
library(glmnet)
Hitters=na.omit(Hitters)

Hitters$Rich<-ifelse(Hitters$Salary>500,1,0)
Hitters.train = Hitters[1:200,]
Hitters.test = Hitters[201:dim(Hitters)[1],]
x=model.matrix(Rich~.,Hitters)[,-1]
cv.out=cv.glmnet(x, Hitters$Rich, alpha=0, family="binomial")
    bestlam=cv.out$lambda.min
ridge.mod=glmnet(x, Hitters$Rich, alpha=0,lambda=bestlam, family="binomial")
    Hitters.test$Rich <- NULL
newx = data.matrix(Hitters.test)
ridge.pred=predict(ridge.mod,newx=newx, type="response")
head(ridge.pred)
ridge.pred[1:10,]

Personne ne sait comment je peux résoudre ce problème?

Je vais voter pour fermer cette question hors-sujet parce que c'est sur l'utilisation de R sans reproductible exemple.
J'ai ajouté un reproductibles partie ci-dessus
Merci! Nous allons voir si nous pouvons migrer pour vous maintenant.
Merci pour votre aide. Cela a été estompe moi pendant des heures.
Juste pour baliser une réponse à cette réponse puisque c'est le premier résultat google pour cette erreur spécifique. En plus de la null problème causé par l'utilisation de cette fonction avec model.matrix, cette erreur peut également se produire lorsque votre test x n'a pas les mêmes variables trouvé dans le train x.

OriginalL'auteur | 2015-03-12