[R] fit linear regression with multiple predictor and constrained intercept

Peter Dalgaard P.Dalgaard at biostat.ku.dk
Wed Nov 28 11:45:18 CET 2007

robert.ptacnik at niva.no wrote:
> Hi group,
> I have this type of data
> x(predictor), y(response), factor (grouping x into many groups, with 6-20
> obs/group)
> I want to fit a linear regression with one common intercept. 'factor'
> should only modify the slopes, not the intercept. The intercept is expected
> to be >0.
> If I use
> y~ x + factor, I get a different intercept for each factor level, but one
> slope only
> if I use
> y~ x * factor, I get the interaction term I want, but the intercept is not
> kept constant.
> Also, if I constrain teh intercept in the regression model (y~a+x*factor),
> I get estimates both for slope and intercept of each factor level.
> Robert
You seem to be looking for the colon operator. In R, unlike certain
other statistical packages, the star implies inclusion of main effects:
a*b is a + b + a:b. There is some trickery about when you get factors
contrast coded in interaction terms (as far as I remember x:factor and
x+x:factor are two different parametrizations of the same model), but
you should be able to find that out by a little experimenting.

   O__  ---- Peter Dalgaard             Øster Farimagsgade 5, Entr.B
  c/ /'_ --- Dept. of Biostatistics     PO Box 2099, 1014 Cph. K
 (*) \(*) -- University of Copenhagen   Denmark          Ph:  (+45) 35327918
~~~~~~~~~~ - (p.dalgaard at biostat.ku.dk)                  FAX: (+45) 35327907

More information about the R-help mailing list