[R] logistic regression without intercept
Ross Boylan
ross at biostat.ucsf.edu
Wed Aug 20 00:47:57 CEST 2003
Thanks to Thomas Lumley, Spencer Graves, and Steve Sullivan for their
advice on and off list to modify the formula with +0 (which I did; it
worked) or -1 at the end.
A couple of items of clarification:
, On Tue, 2003-08-19 at 15:32, Thomas Lumley wrote:
> On Tue, 19 Aug 2003, Ross Boylan wrote:
>
> > I want to do a logistic regression without an intercept term. This
> > option is absent from glm, though present in some of the inner functions
> > glm uses. I gather glm is the standard way to do logistic regression in
> > R.
> >
> > Hoping it would be passed in, I said
> > > r <- glm(brain.cancer~epilepsy+other.cancer, c3,
> > > family=binomial(link="logit"), intercept=FALSE)
> > which produced
> > Error in glm.control(...) : unused argument(s) (intercept ...)
> >
> > Is there an easy way to do this? I suppose I could start hacking away
> > at glm so it would take the argument and pass it on, but is it absent
> > for a reason?
>
> Yes. You specify no intercept with the formula:
> r <- glm(brain.cancer~epilepsy+other.cancer+0, c3,
> family=binomial(link="logit"), intercept=FALSE)
> or
> r <- glm(brain.cancer~epilepsy+other.cancer-1, c3,
> family=binomial(link="logit"), intercept=FALSE)
>
> The latter is S-PLUS compatible
Omit the intercept=FALSE in the above lines; it causes an error even
with the augmented model spec.
>
> > Also, I noticed that S-Plus but not R has a glim routine that uses
> > maximum likelihood. What would be the equivalent?
>
> glm.
>
I thought glm was a minimize the deviations approach, which is different
from maximize likelihood.
> -thomas
>
>
--
More information about the R-help
mailing list