the following works. i don't exactly what happens here. I guess "lm"
might treat S1 and S2 as quantitative variables, not qualitative
variables.

cheers,
Zhiliang

S1 <- as.character(Data[,1])
S1 <- as.factor(S1)
S2 <- as.character(Data[,2])
S2 <- as.factor(S2)
data <- data.frame(S1=S1, S2=S2, ExM=Data[,4])

g <- lm(ExM ~ S1*S2, data)
 anova(g)
Analysis of Variance Table

Response: ExM
           Df Sum Sq Mean Sq F value    Pr(>F)
S1          5 4.7454  0.9491  961.66 < 2.2e-16 ***
S2          5 4.9548  0.9910 1004.10 < 2.2e-16 ***
S1:S2      25 1.2993  0.0520   52.66 < 2.2e-16 ***
Residuals 180 0.1776  0.0010
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1



On Wed, Jul 8, 2009 at 10:34 AM, Lars
Bergemann<lars.bergem...@hotmail.com> wrote:
>
> Hey!
>
>
>
> Could you please take a quick look at what I have done? Somehow I get wrong 
> results using the anova(lm()) combination compared to doing a two way ANOVA 
> by hand.
>
>
>
> Running:
>
>
>
> Data<-read.table("Data.txt");
> g<-lm(ExM~S1*S2,Data);
> anova(g);
>
>
>
> Gives:
>
>
>
> Analysis of Variance Table
>
> Response: ExM
>           Df Sum Sq Mean Sq F value    Pr(>F)
> S1          1 4.3679  4.3679 167.045 < 2.2e-16 ***
> S2          1 0.9427  0.9427  36.053 8.236e-09 ***
> S1:S2       1 0.3231  0.3231  12.357 0.0005371 ***
> Residuals 212 5.5434  0.0261
>
>
> I compared it to the work done by hand, ie calculated all the different 
> square sums using sum() and tapply().
>
> So I know that anova(lm()) gets the degrees of freedom equal two 1, 1, 1 and 
> 212 when it should be 5, 5, 25 and 180. Also, the square sums are quite 
> different ... I get 4.xx, 4.xx, 1.xx, 0.xx ... as you see, what anova(lm()) 
> gets is different.
>
>
>
> The data: S1 has 6 levels, so has S2. On average, each cell has 6 values, 
> most cells have actually 6 values, and there are two of each: 5, 7, 4, 8 - so 
> average 6.
>
>
>
> Could you please help me, why it does not work with anova(lm())? I tried 
> quite a few thinks found with Google, but it all gave me the same result as 
> anova(lm()) ...
>
>
>
> Thanks a lot!
>
>
>
> Lars
>
> _________________________________________________________________
>
>
>
>
> ______________________________________________
> R-help@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.
>
>

______________________________________________
R-help@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.

Reply via email to