this question has answer here:
i running following code:
results <- lmer(train$y ~ factor(train$x1) + (1|factor(train$x2))) predicted <- predict(results, newdata=test)
however, length(predicted)
not equal nrow(test)
, instead equal nrow(train)
.
even if use data=train
lmer
, still have same issue.
what doing wrong?
update: looks going route fixed it.
predicted <- predict(results, newdata=data.frame(y=test$y,x1=test$x1,x2=factor(test$x2)),allow.new.levels=true)
because using train$
during model fitting. try:
results <- lmer(y ~ factor(x1) + (1|factor(x2)), data = train) predicted <- predict(results, newdata=test)
don't use of following:
results <- lmer(train$y ~ factor(train$x1) + (1|factor(train$x2))) results <- lmer(train$y ~ factor(train$x1) + (1|factor(train$x2)), data = train)
this issue not exclusive lmer
. lm
, glm
, same happen.
Comments
Post a Comment