ANOVA with aov or lm
The difference between lm and aov is mainly in the form of the output: the summary table with aov is in the traditional form for analysis of variance, with one row for each categorical variable and each interaction term. On the other hand, the summary table for lm produces one row per estimated parameter (i.e. one row for each factor level and one row for each interaction level). If you have multiple error terms then you must use aov because lm does not support the Error term. Here is the same two-way analysis of variance fitted using aov first then using lm:
daphnia<-read.table("c:\\temp\\Daphnia.txt",header=T) attach(daphnia) names(daphnia) [1] "Growth.rate" "Water" "Detergent" "Daphnia" model1<-aov(Growth.rate~Water*Detergent*Daphnia) summary(model1) Df Sum Sq Mean Sq F value Pr(>F) Water 1 1.985 1.985 2.8504 0.0978380 . Detergent 3 2.212 0.737 1.0586 0.3754783 Daphnia 2 39.178 19.589 28.1283 8.228e-09 *** Water:Detergent 3 0.175 0.058 0.0837 0.9686075 Water:Daphnia 2 13.732 6.866 9.8591 0.0002587 *** Detergent:Daphnia 6 20.601 3.433 4.9302 0.0005323 *** Water:Detergent:Daphnia 6 5.848 0.975 1.3995 0.2343235 Residuals 48 33.428 0.696 model2<-lm(Growth.rate~Water*Detergent*Daphnia) summary(model2)
Coefficients: Estimate Std. Error t value Pr (>|t|) (Intercept) 2.81126 0.48181 5.835 4.48e-07 WaterWear -0.15808 0.68138 -0.232 0.81753 DetergentBrandB -0.03536 0.68138 -0.052 0.95883 DetergentBrandC 0.47626 0.68138 0.699 0.48794 DetergentBrandD -0.21407 0.68138 ...
Get The R Book now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.