Interpreting TukeyHSD output in R I performed a simple ANOVA in R and then generated the following TukeyHSD() comparisons of means:

I have a pretty good idea (I think) of what all this means except the 'p adj'. If I'm correct:


*

*The difference in test scores between say Juniors and Freshmen is 4.86, with Juniors averaging 4.86 points higher. 

*The 95% confidence interval of that difference is between -12.19 and 21.91 points. 


But it's not clear to me what the p adj represents. First of all, adjusted for what? Secondly, is this to be interpreted like any other p-value? So, between juniors and freshmen there is no statistical difference in the means (because the p-value > .05)?
 A: p adj is the p-value adjusted for multiple comparisons using the R function TukeyHSD(). For more information on why and how the p-value should be adjusted in those cases, see here and here. 
Yes you can interpret this like any other p-value, meaning that none of your comparisons are statistically significant. You can also check ?TukeyHSD and then under Value it says:

A list of class c("multicomp", "TukeyHSD"), with one component for each term requested in which. Each component is a matrix with columns diff giving the difference in the observed means, lwr giving the lower end point of the interval, upr giving the upper end point and p adj giving the p-value after adjustment for the multiple comparisons.

A: The p adj value tells if there is a significant difference between comparisons. To know if there is a statistical difference, first and foremost you have to check when you ran your anova test. If the p-value is greater than 0.05, then there is no need to run post hoc tests such as the Tukey because you already know that there is no significant differences. I am sure that in this example, the p-value was greater than 0.05 for the anova test, which is why when you ran the post hoc Tukey test, no significant differences was observed.
