I am trying to do a simple prediction, using linear regression I have a data.frame where some of the items are missing price (and therefor noted NA). This apperantely doesn't work:

#Simple LR
fit <- lm(Price ~ Par1 + Par2 + Par3, data=combi[!is.na(combi$Price),])
Prediction <- predict(fit,  data=combi[is.na(combi$Price),]), OOB=TRUE, type = "response")

What should I put instead of data=combi[is.na(combi$Price),]) ?

有帮助吗?

解决方案

Change data to newdata. Look at ?predict.lm to see what arguments predict can take. Additional arguments are ignored. So in your case data (and OOB) is ignored and the default is to return predictions on the training data.

Prediction <- predict(fit, newdata = combi[is.na(combi$Price),])

identical(predict(fit), predict(fit, data = combi[is.na(combi$Price),]))
## [1] TRUE
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top