One-way ANOVA (cont.)
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
In a previous post we considered using R to fit one-way ANOVA models to data. In this post we consider a few additional ways that we can look at the analysis.
In the analysis we made use of the linear model function lm and the analysis could be conducted using the aov function. The code used to fit the model is very similar:
> plant.mod2 = aov(weight ~ group, data = plant.df)
> summary(plant.mod2)
Df Sum Sq Mean Sq F value Pr(>F)
group 2 3.7663 1.8832 4.8461 0.01591 *
Residuals 27 10.4921 0.3886
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
The output from using the summary function of the fitted model object shows the analysis of variance table with the p-value showing evidence of differences between the three groups. In R we can investigated the particular groups where there are differences using Tukey’s multiple comparisons:
> TukeyHSD(plant.mod2)
Tukey multiple comparisons of means
95% family-wise confidence level
Fit: aov(formula = weight ~ group, data = plant.df)
$group
diff lwr upr p adj
Treatment 1-Control -0.371 -1.0622161 0.3202161 0.3908711
Treatment 2-Control 0.494 -0.1972161 1.1852161 0.1979960
Treatment 2-Treatment 1 0.865 0.1737839 1.5562161 0.0120064
The multiple comparison tests highlight that the difference is due to comparing treatments 1 and 2. These 95% confidence intervals for the differences shown above can be plotted:
plot(TukeyHSD(plant.mod2))
which gives
The post-hoc adjustments are recommended as we are testing after looking at the data rather than undertaking a pre-planned analysis.
R-bloggers.com offers daily e-mail updates about R news and tutorials about learning R and many other topics. Click here if you're looking to post or find an R/data-science job.
Want to share your content on R-bloggers? click here if you have a blog, or here if you don't.
