[R] Remove term from formula for predict.lm

2010-01-19 Thread Werner W.
Hi, probably just a quick question: can I somehow change the formula used with predict? E.g., the regression was run on y ~ u + v + w but for the prediction the term v should be removed from the formula contained in the regression object and only y ~ u + w be used. I could use model.matrix

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread Henrique Dallazuanna
Try this; mod1 - lm(y ~ u + v + w, data = d) update(mod1, . ~ . -v) On Tue, Jan 19, 2010 at 2:10 PM, Werner W. pensterfuz...@yahoo.de wrote: Hi, probably just a quick question: can I somehow change the formula used with predict? E.g., the regression was run on y ~ u + v + w but for the

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread Gabor Grothendieck
This recomputes the lm but if that is ok then: mod - lm(y1 ~ x1 + x2 + x3 + x4, anscombe) mod$call$formula - update(as.formula(mod$call$formula), ~ . - x1 - x2) predict(eval(mod$call), list(x3 = 1, x4 = 1)) On Tue, Jan 19, 2010 at 11:10 AM, Werner W. pensterfuz...@yahoo.de wrote: Hi,

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread Walmes Zeviani
Werner, You could set 0 to that regressors you don't want to consider for prediction. da - expand.grid(A=1:20, B=rnorm(20, 4, 0.2), C=10^seq(1,2,l=20)) da$y - rnorm(da$A, 0, 0.3) m0 - lm(y~A+B+C, data=da) new - da new$C - 0 predict(m0)[1:5] predict(m0, newdata=new)[1:5] At your disposal.

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread werner w
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

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread David Winsemius
On Jan 19, 2010, at 12:05 PM, werner w 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

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread Gabor Grothendieck
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

Re: [R] Remove term from formula for predict.lm

2010-01-19 Thread werner w
Thanks a lot for the answers! Somehow I thought there will be a facility to modify the formula. But setting unwanted variables to zero will of course work and maybe is simple enough. Thanks again! -- View this message in context: