[R] proper work-flow with 'formula' objects and lm()

Duncan Murdoch murdoch.duncan at gmail.com
Thu Nov 24 21:14:57 CET 2011


On 24/11/2011 2:48 PM, Liviu Andronic wrote:
> Dear all
> I have a work-flow issue with lm(). When I use
> >  lm(y1~x1, anscombe)
>
> Call:
> lm(formula = y1 ~ x1, data = anscombe)
>
> Coefficients:
> (Intercept)           x1
>       3.0001       0.5001
>
>
> I get as expected the formula, "y1 ~ x1", in the print()ed results or
> summary(). However, if I pass through a formula object
> >  (form<- formula(y1~x1))
> y1 ~ x1
> >  lm(form, anscombe)
>
> Call:
> lm(formula = form, data = anscombe)
>
> Coefficients:
> (Intercept)           x1
>       3.0001       0.5001
>
>
> then I only get the object name in the call, 'form', instead of the
> formula. When passing a 'formula' object to lm, is it possible to
> retain in the resulting 'lm' object the actual formula used for the
> regression: "y1 ~ x1"?

It is retained.  terms(fit) will give it to you, if fit is an lm object.

Duncan Murdoch



More information about the R-help mailing list