[R] Slope comparision

Антон Морковин A-Morkovin at yandex.ru
Fri Mar 18 07:06:19 CET 2011


Hi all,
I need to test the significnce of difference between slopes of two regression lines and regression line with theoretical line. Is it correct to use t-test in this situation? Here is my script:


library(car)

d1<-data.frame(P1=c(1,2,3,5,7,8,9,13,14,15),
               P2=c(1,2,5,8,11,13,15,15,18,24),
              R=c(2,7,8,9,16,21,27,31,33,36)) # First data set
m1<-lm(R~P1+P2+P1*P2,data=d1) # Regr. model

d2<-data.frame(P1=c(1,5,4,7,9,1,12,4,4,5),
               P2=c(1,2,0,7,4,1,2,0,7,0),
               R=c(3,12,15,15,9,7,4,5,6,1)) # Second data set
m2<-lm(R~P1+P2+P1*P2,data=d2) # Regr. model

s1<-coefficients(summary(lm(fitted(m1)~d1$R)))[2,1] #Slopes of regr.line
s2<-coefficients(summary(lm(fitted(m2)~d2$R)))[2,1]
se1<-coefficients(summary(lm(fitted(m1)~d1$R)))[2,2] #SE of slopes
se2<-coefficients(summary(lm(fitted(m2)~d1$R)))[2,2]
df1<-df.residual(lm(fitted(m1)~d1$R)) #D. of f.
df2<-df.residual(lm(fitted(m2)~d1$R))

kk<-function(se1,se2,df1,df2){(se1^2+se2^2)^2/(se1^4/(df1-1)+se2^4/(df2-1))} #D. of f. for Welsch test
tt<-function(s1,s2,se1,se2){(s1-s2)/sqrt(se1^2+se2^2)}
pp<-function(s1,s2,se1,se2,df1,df2){2*pt(-abs(tt(s1,s2,se1,se2)),df=kk(se1,se2,df1,df2))}

pp(s1,s2,se1,se2,df1,df2) # p-value 

## Theoretical line

s3<-0.75
se3<-0
df3<-0

pp(s1,s3,se1,se3,df1,df3) # p-value
pp(s2,s3,se2,se3,df2,df3) # p-value 


Thanks,
A.M.



More information about the R-help mailing list