> set.seed(1) > df1 <- data.frame(x=1:3, y=1:3+rnorm(3)) > df2 <- data.frame(x=1:3, y=1:3+rnorm(3)) > DF. <- data.frame(source=rep(c(-1,1), each=3), rbind(df1, df2)) > > anova(lm(y~x+I(source*x), DF.)) Analysis of Variance Table
Response: y
Df Sum Sq Mean Sq F value Pr(>F)
x 1 0.47271 0.47271 0.5696 0.5053
I(source * x) 1 0.23386 0.23386 0.2818 0.6323
Residuals 3 2.48964 0.82988 >
hope this helps. spencer graves
Joerg Schaber wrote:
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
______________________________________________
[EMAIL PROTECTED] mailing list
https://www.stat.math.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
______________________________________________ [EMAIL PROTECTED] mailing list https://www.stat.math.ethz.ch/mailman/listinfo/r-help PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html