ANOVA
Purpose : To do some worked out examples of ANOVA and MANOVA
> library(HSAUR2) > library(ggplot2) |
> mydata <- weightgain |
Exploratory Analysis
> qplot(type, weightgain, data = mydata, geom = "jitter") > qplot(type, weightgain, data = mydata, geom = "boxplot") > q1 <- qplot(source, weightgain, data = mydata, geom = "boxplot") > q2 <- qplot(type, weightgain, data = mydata, geom = "boxplot") > pushViewport(viewport(layout = grid.layout(1, 2))) > vplayout <- function(x, y) viewport(layout.pos.row = x, layout.pos.col = y) > print(q1, vp = vplayout(1, 1)) > print(q2, vp = vplayout(1, 2)) |
> q3 <- qplot(source, weightgain, data = mydata, facets = . ~ type, + geom = "boxplot") > print(q3) |
> temp1 <- ddply(mydata, c("source"), function(x) mean(x$weightgain)) > temp2 <- ddply(mydata, c("type"), function(x) mean(x$weightgain)) > temp3 <- ddply(mydata, c("type", "source"), function(x) mean(x$weightgain)) > temp1 source V1 1 Beef 89.6 2 Cereal 84.9 > temp2 type V1 1 High 92.95 2 Low 81.55 > temp3 type source V1 1 High Beef 100.0 2 High Cereal 85.9 3 Low Beef 79.2 4 Low Cereal 83.9 |
> q3 <- qplot(source, weightgain, data = mydata, facets = . ~ type, + geom = "boxplot") > print(q3) |
Check equality of variances
> temp4 <- ddply(mydata, c("type", "source"), function(x) sd(x$weightgain)) > temp4 type source V1 1 High Beef 15.13642 2 High Cereal 15.02184 3 Low Beef 13.88684 4 Low Cereal 15.70881 |
> interaction.plot(mydata$type, mydata$source, mydata$weightgain) |
> fit <- aov(weightgain ~ source * type, mydata) > summary(fit) Df Sum Sq Mean Sq F value Pr(>F) source 1 220.9 220.9 0.9879 0.32688 type 1 1299.6 1299.6 5.8123 0.02114 * source:type 1 883.6 883.6 3.9518 0.05447 . Residuals 36 8049.4 223.6 --- Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 |
> fit <- aov(weightgain ~ source * type, mydata, contrasts = list(source = contr.sum)) > coef(fit) (Intercept) source1 typeLow source1:typeLow 92.95 7.05 -11.40 -9.40 |