Re: [R] ANCOVA for linear regressions without intercept

From: Yusuke Fukuda <>
Date: Fri, 01 Apr 2011 14:52:30 +0930

Thanks Bert.

I have read "?formula" again and again, and I'm still struggling;

>lm(body_length ~ head_length-1)

This removes intercept from each individual regression (for male, female, unknown).

When they are taken together,

>lm(body_length ~ sex*head_length)

This shows differences in slopes and intercepts between the regressions (but I want to compare the slopes of the regressions WITHOUT intercepts).

If I put

> lm(body_length ~ sex:head_length-1)

This shows slopes for each sex without intercepts, but NOT differences in the slope between the regressions.

I also tried

> lm(body_length ~ sex*head_length-1)
> lm(body_length ~ sex*head_length-sex-1)

But none of them worked.

Would anyone be able to help me? All I want to do is to compare the slopes of three linear regressions that go through the origin (0,0) so that I can say if their difference is significant or not.

Thanks for your help.  

From: Bert Gunter [] Sent: Friday, 1 April 2011 12:56 AM
To: Yusuke Fukuda

Subject: Re: [R] ANCOVA for linear regressions without intercept

If you haven't already received an answer, a careful reading of  
will provide it.
-- Bert
On Wed, Mar 30, 2011 at 11:42 PM, Yusuke Fukuda <> wrote:

Hello R experts

I have two linear regressions for sexes (Male, Female, Unknown). All have a good correlation between body length (response variable) and head length (explanatory variable). I know it is not recommended, but for a good practical reason (the purpose of study is to find a single conversion factor from head length to body length), the regressions need to go through the origin (0 intercept).

Is it possible to do ANCOVA for these regressions without intercepts? When I do

summary(lm(body length ~ sex*head length))

this will include the intercepts as below


                      Estimate Std. Error t value Pr(>|t|)
(Intercept)            -6.49697    1.68497  -3.856 0.000118 ***
sexMale                -9.39340    1.97760  -4.750 2.14e-06 ***
sexUnknown             -1.33791    2.35453  -0.568 0.569927
head_length             7.12307    0.05503 129.443  < 2e-16 ***
sexMale:head_length     0.31631    0.06246   5.064 4.37e-07 *** sexUnknown:head_length  0.19937    0.07022   2.839 0.004556 **

Is there any way I can remove the intercepts so that I can simply compare the slopes with no intercept taken into account?

Thanks for help in advance.

Yusuke Fukuda

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.

"Men by nature long to get on to the ultimate truths, and will often be impatient with elementary studies or fight shy of them. If it were possible to reach the ultimate truths without the elementary studies usually prefixed to them, these would not be preparatory studies but superfluous diversions."
-- Maimonides (1135-1204)
Bert Gunter
Genentech Nonclinical Biostatistics

______________________________________________ mailing list
PLEASE do read the posting guide
and provide commented, minimal, self-contained, reproducible code.
Received on Fri 01 Apr 2011 - 06:05:43 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Fri 01 Apr 2011 - 16:20:26 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive