truncated regressor
At 12:29 15/05/00 +0200, Peter Dalgaard wrote:
which is clear to me: doing lm(y ~ a + I(b+c)) is similar to d <- b + c lm(y ~ a + d) But what if the expression in I() is a logical? After playing a moment, I found out that a formula can include a logical variable, and treats it as a factor:
x <- runif(50, 0, 50) y <- 2*x + rnorm(50, 0, 5) lm(y ~ x < 25)
Call:
lm(formula = y ~ x < 25)
Coefficients:
(Intercept) x < 25
78.24 -53.92
I should hope that it is being converted to *numeric* (TRUE --> 1), not factor, otherwise there'd be all sorts of trouble with contrasts. This is a general feature: TRUE + 2 == 3 for instance, and (x>0)-(x<0) is the sign function. [Easiest way of checking is to compare lm(y ~ I(x < 25) - 1) with lm(y ~ factor(x < 25) - 1) ]
You are right. I was misled by the fact that lm(y ~ as.factor(x < 25)) and lm(y ~ x < 25) give the same result. Emmanuel Paradis -.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.-.- r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html Send "info", "help", or "[un]subscribe" (in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch _._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._._