[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