[R] Comparing two regression slopes
Joerg Schaber
Joerg.Schaber at uv.es
Thu Feb 19 17:40:25 CET 2004
I would suggest the method of Sokal and Rholf (1995) S. 498, using the F
test.
Below I repeat the analysis by Spencer Graves:
Spencer:
> df1 <- data.frame(x=1:3, y=1:3+rnorm(3))
> df2 <- data.frame(x=1:3, y=1:3+rnorm(3))
> fit1 <- lm(y~x, df1)
> s1 <- summary(fit1)$coefficients
> fit2 <- lm(y~x, df2)
> s2 <- summary(fit2)$coefficients
> db <- (s2[2,1]-s1[2,1])
> sd <- sqrt(s2[2,2]^2+s1[2,2]^2)
> df <- (fit1$df.residual+fit2$df.residual)
> td <- db/sd
> 2*pt(-abs(td), df)
[1] 0.8757552
Sokal & Rholf
> n <- length(df1$x)
> ssx1 <- var(df1$x)*(n-1) # sums of squares
> ssx2 <- var(df2$x)*(n-1)
> ssy1 <- var(df1$y)*(n-1)
> ssy2 <- var(df2$y)*(n-1)
> sxy1 <- cor(df1$x,df1$y)*(n-1)
> sxy2 <- cor(df2$x,df2$y)*(n-1)
> d2xy1 <- ssy1 - sxy1^2/ssx1 # unexplained
> d2xy2 <- ssy2 - sxy2^2/ssx2
> Fs <- db^2/((ssx1+ssx2)/(ssx1*ssx2)*(d2xy1+ d2xy2)/(2*n-4)) # F
statistic
> 1-pf(Fs,1,2*n-4)
[1] 0.8827102
slight differences, but can be MUCH larger with more data!
greetings,
joerg
More information about the R-help
mailing list