[R] testing for significantly different slopes

Bill.Venables at csiro.au Bill.Venables at csiro.au
Thu Mar 6 00:38:07 CET 2008


Generically, let y be the response, f the factor and x the covariate.
Then

pModel <- lm(y ~ f + x, data) # parallel regressions
sModel <- lm(y ~ f/x, data)   # separate regressions (the '-1' is
optional)
anova(pModel, sModel)		# tests whether there are differences in
slopes.

In the example you quote below (which seems oddly familiar...) there are
only two classes so you get only 1 degree of freedom.  Since the tail
area is 0.064, a strict 5% straight-up-and-down frequentist would say
you retain the null hypothesis of parallel regressions (i.e. equal
slopes) at the 0.05 level, but a cautious fence sitter would keep a
watchful eye on the evidence.

The same logic applies however many classes the factor has, (or for that
matter however many covariates).  You just get more degrees of freedom
for the test, and more ways things can depart from parallelism.

What's the problem? 


Bill Venables
CSIRO Laboratories
PO Box 120, Cleveland, 4163
AUSTRALIA
Office Phone (email preferred): +61 7 3826 7251
Fax (if absolutely necessary):  +61 7 3826 7304
Mobile:                         +61 4 8819 4402
Home Phone:                     +61 7 3286 7700
mailto:Bill.Venables at csiro.au
http://www.cmis.csiro.au/bill.venables/ 

-----Original Message-----
From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org]
On Behalf Of Dylan Beaudette
Sent: Thursday, 6 March 2008 9:28 AM
To: r-help at r-project.org
Subject: [R] testing for significantly different slopes

Hi,

How would one go about determining if the slope terms from an analysis
of 
covariance model are different from eachother?

Based on the example from MASS:

library(MASS)

# parallel slope model
l.para <- lm(Temp ~ Gas + Insul, data=whiteside)

# multiple slope model
l.mult <- lm(Temp ~ Insul/Gas -1, data=whiteside)

# compare nested models:
anova(l.para, l.mult)
Analysis of Variance Table

Model 1: Temp ~ Gas + Insul
Model 2: Temp ~ Insul/Gas - 1
  Res.Df    RSS Df Sum of Sq      F  Pr(>F)  
1     53 52.045                              
2     52 48.704  1     3.341 3.5673 0.06451 .

It seems like this approach would yield insight into whether or not the
two 
slope terms (InsulBefore:Gas  and InsulAfter:Gas) were different.
However, is 
there a formal test for this sort of question, and can it be generalized
to 
differences between more than 2 slope terms?

Thanks,

Dylan


-- 
Dylan Beaudette
Soil Resource Laboratory
http://casoilresource.lawr.ucdavis.edu/
University of California at Davis
530.754.7341

______________________________________________
R-help at r-project.org mailing list
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.



More information about the R-help mailing list