Statistical tests such as repeated measures ANOVA assume sphericity, meaning that the variances of the differences between all possible pairs of groups are equal. Whereas assumption of normality of distribution may be overlooked in some cases due to the robustness of ANOVA, the assumption of sphericity in repeated measures ANOVA must be met. Violating this assumption may severely compromise the interpretation of the test results.
Mauchly’s sphericity test checks this assumption for you. The null hypothesis
H0 in this test states that there is no difference in variances for all pairwise group comparisons. In R, the main function is
mauchly.test(). However, running it is not that straight forward. It involves building a matrix with the dataset to be tested, whereas your data is usually nicely arranged in a dataframe.
Let’s see how this is done using the same example as for repeated measures ANOVA. Here, 5 rats are weighed 4 times with intervals of 4 weeks (week8 to 20). This is the code for the dataframe:
# response variable rat.weight <- c(164,164,158,159,155,220,230,226,227,222,261,275,264,280,272,306,326,320,330,312) # predictor variable time.point <- as.factor(c(rep("week08",5), rep("week12",5), rep("week16",5), rep("week20",5))) # individual ID rat.ID <- as.factor(rep(c("rat1","rat2","rat3", "rat4", "rat5"),4)) # dataframe my.dataframe <- data.frame(rat.ID,time.point,rat.weight)
We start by creating a matrix called
neo that contains the data
rat.weight. In that matrix, the 5 individuals will be shown in rows, and time points in column. Here is the code:
neo <- matrix(rat.weight, nrow = 5, ncol = 4) neo
## [,1] [,2] [,3] [,4] ## [1,] 164 220 261 306 ## [2,] 164 230 275 326 ## [3,] 158 226 264 320 ## [4,] 159 227 280 330 ## [5,] 155 222 272 312
Now that the matrix is in place, we can used
mauchly.test() (in combination with
lm()) to test for sphericity:
mauchly.test(lm(neo ~ 1), X = ~ 1)
## ## Mauchly's test of sphericity ## Contrasts orthogonal to ## ~1 ## ## ## data: SSD matrix from lm(formula = neo ~ 1) ## W = 0.15303, p-value = 0.4294
The output returns a p-value over 0.05 meaning that the null hypothesis stating that there is no difference in variances for all pairwise group comparisons is accepted.