r - Lmer4 predict function is returning fitted values, not newdata values -


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