Remove term from formula for predict.lm
If you want to keep the same coefficients but ignore certain ones just use 0 for the ones you don't want: mod <- lm(Sepal.Length ~ Petal.Length + Petal.Width, iris) predict(mod, list(Petal.Length = 3, Petal.Width = 0)) Regarding the problem with the example, the example data was not the best for showing this because there are co-linear columns in the anscombe data set. Using iris we see that it does produce different answers:
mod <- lm(Sepal.Length ~ Petal.Length + Petal.Width, iris) predict(eval(mod$call), list(Petal.Length = 3, Petal.Width = 3))
1 4.857262
mod$call$formula <- update(as.formula(mod$call$formula), ~ . - Petal.Width) predict(eval(mod$call), list(Petal.Length = 3))
1 5.53337
On Tue, Jan 19, 2010 at 12:05 PM, werner w <pensterfuzzer at yahoo.de> wrote:
Thanks Gabor and Henrique! Sorry for the imprecise question. I want predict() to use the coefficients estimated by the original regression but to exclude terms from the prediction formula. If I originally estimated y ~ x1 + x2 and got coefficients b0, b1, b2, I would like to remove x2 and predict y = b0 + b1*x1 using the the originally estimated coefficients b0 and b1. @Gabor: I tried your suggestion but it seems although predict now accepts a list with fewer variables, the new function is not used so that the coefficient does not change.
mod <- lm(y1 ~ x1 + x2 + x3 + x4, anscombe) predict(eval(mod$call), list(x1=1,x2=1,x3=1, x4=1))
? ? ? 1 4.684909 Warning message: In predict.lm(eval(mod$call), list(x1 = 1, x2 = 1, x3 = 1, x4 = 1)) : ?prediction from a rank-deficient fit may be misleading
mod$call$formula <- update(as.formula(mod$call$formula), ~ . - x1 - x2) predict(eval(mod$call), list(x3=1, x4=1))
? ? ? 1 4.684909
Many thanks, ?Werner -- View this message in context: http://n4.nabble.com/Remove-term-from-formula-for-predict-lm-tp1017686p1017749.html Sent from the R help mailing list archive at Nabble.com.
______________________________________________ R-help at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide http://www.R-project.org/posting-guide.html and provide commented, minimal, self-contained, reproducible code.