> Subject: Re: [R] Why removing the (Intercept) from lm is done by adding -1?
> 
> And in R, - means omit, as in
> mydataframe[, -1]
> right?

Not really, no. 
In the specific interpretation of an R model formula, '-' means 'remove the 
_term_ following '-'  ...'.  As below:
> This is all in the help for formula, where it says "The - operator removes the
> specified terms".

Almost everywhere else, '-'  it means negate as a unary operator and subtract 
as a binary operator. 
In '[', '-' still means negate, not remove. It's just that '[' uses negative 
_numbers_ as a special case to denote omission. As a recent post noted, 
[-"601",] does not work.

> > Adding (or setting the (Intercept) term) zero seems more logical than
> > subtracting one, but why is there the method of subtracting one? Why
> > does subtracting one mean that the (Intercept) term disappears?
See above; '-' _in a formula_ means 'remove the following term'

Following that consistently, if there's a weirdness there, it's that ~0+x works 
to omit the intercept, not that ~x-1 does. 

But that arises from a slightly different, but still fairly reasonable, 
perspective on describing the model.

S Ellison



*******************************************************************
This email and any attachments are confidential. Any use...{{dropped:8}}

______________________________________________
R-help@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.

Reply via email to