Gero Schwenk
2009-Oct-08 06:52 UTC
[R] predict.lm() out-of-sample predictions - problem with data classes
Hello! I'm still working on my problem, which also occurs with the predict.lm() function. - Providing newdata, which is a data.frame with all variables being "numeric", as str() shows, R tells me the following: ar1.xpred.test.pred <- predict(ar1.xpred.fitted, regdata.test, se.fit = FALSE) Fehler: variable 'lag(ret1)' was fitted with type "numeric" but type "nmatrix.1" was supplied Zus?tzlich: Warnmeldung: 'newdata' had 23 rows but variable(s) found have 89 rows Estimating a model from the test-data and examining, the resulting lm-object I found out that the "data classes" switched to "nmatrix.1" - while they were "numeric" for the original model using the traning data. str(ar1.xpred.test.lm$model) ... attr(*, "dataClasses")= Named chr [1:4] "nmatrix.1" "nmatrix.1" "nmatrix.1" "nmatrix.1" ... str(ar1.xpred.lm$model) ... attr(*, "dataClasses")= Named chr [1:4] "numeric" "numeric" "nmatrix.1" "nmatrix.1" ... I've no clue what the type "nmatrix.1" is and how I could possibly manipulate the lm()-object to change this into "numeric". What puzzles me is the fact, that both training- and test-data.frames were created exactly the same way, even controling the types of their variables. Can anybody help me out or propose a bypass? I desperately need to make some out-of-sample predictions! Many thanks: Gero