Well...
?terms.formula says:
"data: a data frame from which the meaning of the special symbol . can
be inferred. It is unused if there is no . in the formula."
So this seems to me to be an obscure bug, as I have found no warning
against this admittedly confusing but still, I think, legal syntax.
Note:
> d <- data.frame(log = runif(10), x = 1:10)
> y <- rnorm(10,5)
> m1 <- lm(y ~ ., data = d)
> formula(m1)
y ~ log + x
> m2 <- update(m1, formula =log(y) ~.)
> formula(m2)
log(y) ~ log + x
> m3 = lm(log(y) ~., data =d)
> formula(m3)
log(y) ~ x
As always, correction appreciated if I'm wrong.
Cheers,
Bert
Bert Gunter
"The trouble with having an open mind is that people keep coming along
and sticking things into it."
-- Opus (aka Berkeley Breathed in his "Bloom County" comic strip )
On Tue, Jan 30, 2018 at 6:23 AM, Jeff Newmiller
<jdnewmil at dcn.davis.ca.us> wrote:>
> Functions are first class objects, so some kind of collision is bound to
happen if you do this... so don't.
> --
> Sent from my phone. Please excuse my brevity.
>
> On January 30, 2018 3:11:56 AM PST, "Vito M. R. Muggeo"
<vito.muggeo at unipa.it> wrote:
> >dear all,
> >Is the following intentional? Am I missing anything in documentation?
> >
> >d<-data.frame(y=rnorm(10,5,.5),exp=rnorm(10), age=rnorm(10))
> >formula(lm(exp(y)~exp+age, data=d))
> >#--> exp(y) ~ exp + age
> >
> >formula(lm(exp(y)~., data=d))
> >#--> exp(y) ~ age
> >
> >variable 'exp' (maybe indicating "experience") is not
included in the
> >model. The same happens with 'log' (and other function names, I
> >suppose..)
> >
> >best,
> >vito
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.