# Significant notation

When presenting our results to an audience (paper or presentation) it is important to communicate our results clearly in a manner that is understandable to a wider audience. Tha main way to do so with an Analysis of Variance, is using a post-hoc test like a Tukeys Honest Significant Difference (Tukeys HSD). This will analyse the differences between the levels within a factor to distinguish which levels are significantly different from one another.

To jog our memory from our test, letâ€™s run the Tukeys test from our analysis module using the `HSD.test()` from the agricolae package.

``````library(agricolae)
HSD.test(weeds.aov2, "species", console=TRUE)``````
``````##
## Study: weeds.aov2 ~ "species"
##
## HSD Test for flowers
##
## Mean Square Error:  130.122
##
## species,  means
##
##           flowers      std  r Min Max
## Coprosma  24.1250 11.13478 16  13  52
## Olearia   36.7500 12.08580 16  16  55
## Pultenaea 40.5625 10.97858 16  20  57
##
## Alpha: 0.05 ; DF Error: 42
## Critical Value of Studentized Range: 3.435823
##
## Minimun Significant Difference: 9.798198
##
## Treatments with the same letter are not significantly different.
##
##           flowers groups
## Pultenaea 40.5625      a
## Olearia   36.7500      a
## Coprosma  24.1250      b``````

According to the tukeys results, Coprosma is significantly different from the others. So we will label it A and the others B.

There are two main ways to plot notation on a graph, a manual way using coordinates, and an automatic way. We will cover the manual way first so we can see how it works before preceeding to the easy method.

``````ggplot(weeds.summarise, aes(x=species, y=mean)) +
geom_bar(stat="identity")+
geom_errorbar(aes(ymin = mean-se, ymax = mean+se), width = 0.5)+
geom_text(label = c("A", "B", "B"), aes(y = c(28.5, 41, 44.5), x = species), size = 6)``````

``# try including the geom_text() in your original weeds.bar code. ``

Adding notation is done through `geom_text()`. We need to specify the labels (in order from left -> right) along with the aesthetic coordinates on the x and y axis. The X axis we can direct it to our original x axis data (species) and it will sit in the centre of the column. The Y coordinates are the location on the Y axis the text should sit.

This method is very finicky but is a great method if you are looking to plot one letter/symbol on the graph. You can add multiple `geom_text()` commands if needed.

The quicker solution to this, is to use a combination of our errorbars and an additional argument called vjust (vertical adjustment).

``````ggplot(weeds.summarise, aes(x=species, y=mean)) +
geom_bar(stat="identity")+
geom_errorbar(aes(ymin = mean-se, ymax = mean+se), width = 0.5)+
geom_text(label = c("A", "B", "B"), aes(y = mean+se, x = species),vjust = -0.5, size = 6)+
ylim(0, 50)``````

We simply specify our Y coordinates as the top of our error bar (mean + se) and use the vjust (vertical ajustment) argument to move it slightly above the bar. You might have to change your ylim to display the last letter, which got cut off.