[R] predict.lm, matrix in formula and newdata

Stephan Kolassa Stephan.Kolassa at gmx.de
Tue Aug 17 14:24:52 CEST 2010


Dear all,

I am stumped at what should be a painfully easy task: predicting from an lm object. A toy example would be this:

XX <- matrix(runif(8),ncol=2)
yy <- runif(4)
model <- lm(yy~XX)
XX.pred <- data.frame(matrix(runif(6),ncol=2))
colnames(XX.pred) <- c("XX1","XX2")
predict(model,newdata=XX.pred)

I would have expected the last line to give me the predictions from the model based on the new data given in XX.pred... but all I get are in-sample fits along with a warning "'newdata' had 3 rows but variable(s) found have 4 rows". Why would predict.lm worry about the number of rows in the model matrix?

Unfortunately, ?predict.lm does not seem to be helpful, and neither RSiteSearch nor rseek.org have been useful. I'm sure that I am making an elementary error somewhere (am I misunderstanding the lm(yy~XX) part?) and would appreciate a gentle nudge in the right direction.

Thank you,
Stephan

-- 
GMX DSL SOMMER-SPECIAL: Surf & Phone Flat 16.000 für nur 19,99 ¿/mtl.!*



More information about the R-help mailing list