MANOVA
Purpose
To work out a MANOVA example
> library(HSAUR2) > library(ggplot2) > library(reshape) |
> mydata <- skulls |
> q1 <- qplot(epoch, mb, data = mydata, geom = "boxplot") > q2 <- qplot(epoch, bh, data = mydata, geom = "boxplot") > q3 <- qplot(epoch, bl, data = mydata, geom = "boxplot") > q4 <- qplot(epoch, nh, data = mydata, geom = "boxplot") > pushViewport(viewport(layout = grid.layout(2, 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)) > print(q3, vp = vplayout(2, 1)) > print(q4, vp = vplayout(2, 2)) |

> mydata1 <- melt(mydata, id.vars = 1)
> colnames(mydata1) <- c("epoch", "var", "value")
> q1 <- qplot(epoch, value, data = mydata1, facets = . ~ var, geom = "boxplot")
> print(q1) |

> q2 <- qplot(var, value, data = mydata1, facets = . ~ epoch, geom = "boxplot") > print(q2) |

The above figure deceives eyes as it seems to suggest that there is no difference in means between various epochs
- But MANOVA test says something else
> skulls_manova <- manova(cbind(mb, bh, bl, nh) ~ epoch, data = skulls) |
Pillai Test
> summary(skulls_manova, test = "Pillai")
Df Pillai approx F num Df den Df Pr(>F)
epoch 4 0.3533 3.5120 16 580 4.675e-06 ***
Residuals 145
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 |
Wilks test
> summary(skulls_manova, test = "Wilks")
Df Wilks approx F num Df den Df Pr(>F)
epoch 4.00 0.6636 3.9009 16.00 434.45 7.01e-07 ***
Residuals 145.00
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 |
Hotelling-Lawley Test
> summary(skulls_manova, test = "Hotelling-Lawley")
Df Hotelling-Lawley approx F num Df den Df Pr(>F)
epoch 4 0.4818 4.2310 16 562 8.278e-08 ***
Residuals 145
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 |
Roy Test
> summary(skulls_manova, test = "Roy")
Df Roy approx F num Df den Df Pr(>F)
epoch 4 0.4251 15.4097 4 145 1.588e-10 ***
Residuals 145
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1 |
> summary.aov(skulls_manova)
Response mb :
Df Sum Sq Mean Sq F value Pr(>F)
epoch 4 502.83 125.71 5.9546 0.0001826 ***
Residuals 145 3061.07 21.11
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Response bh :
Df Sum Sq Mean Sq F value Pr(>F)
epoch 4 229.9 57.5 2.4474 0.04897 *
Residuals 145 3405.3 23.5
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Response bl :
Df Sum Sq Mean Sq F value Pr(>F)
epoch 4 803.3 200.8 8.3057 4.636e-06 ***
Residuals 145 3506.0 24.2
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Response nh :
Df Sum Sq Mean Sq F value Pr(>F)
epoch 4 61.20 15.30 1.507 0.2032
Residuals 145 1472.13 10.15 |