I'm trying to add the ANOVA p-values to a group of boxplots I have. To make the box plots I did this:
gg1 <- X2015_2019_R_Use %>% ggplot(aes(x = as.factor(Year), y = `Relative Abundance`, fill = as.factor(Year))) + geom_boxplot()+facet_grid(Site ~ Bacteria)+labs(x="Year",fill="Year")
Which works great. Then I made a data table to add the p values to each individual facet:
dat_text<-data.frame(Bacteria= c("Acidobacteria","Actinobacteria","Alpha-Proteobacteria","Bacteroidetes","Verrucomicrobia","Acidobacteria","Actinobacteria","Alpha-Proteobacteria","Bacteroidetes","Verrucomicrobia"),Site = c("C1","C1","C1","C1","C1","C2","C2","C2","C2","C2"))
dat_text$label<-c("0.70338","0.4538","0.0617","0.00141","0.0680","0.00099","0.00941","0.01238","0.56500","0.723")
To finish it off, I added that text to the graphs:
gg1+geom_text(
size = 5,
data = dat_text,
mapping = aes(x = Inf, y = Inf, label = label),
hjust = 1.05,
vjust = 1.5
)
No matter how I try to do it I always get the error: Error in is.factor(x) : object 'Year' not found
.
It is definitely coming from the geom_text(), but I'm not sure why.
Any help would be great!
EDIT: If you use the data below use this for dat_text:
dat_text<-data.frame(Bacteria= c("Actinobacteria","Verrucomicrobia","Actinobacteria","Verrucomicrobia"),Site = c("C1","C1","C2","C2"))
dat_text$label<-c("0.70338","0.4538","0.0617","0.00141")
dput(X2015_2019_R_Use)
structure(list(`Site ID` = c(1501, 1501, 1501, 1502, 1502, 1502,
1503, 1503, 1503, 1504, 1505, 1505, 1505, 1506, 1506, 1506, 1507,
1507, 1507, 1508, 1508, 1508, 1603, 1603, 1603, 1604, 1604, 1604,
1605, 1605, 1606, 1606, 1607, 1607, 1607, 1608, 1608, 1608, 1609,
1609, 1609, 1610, 1610, 1610, 1861, 1861, 1861, 1862, 1862, 1862,
1863, 1863, 1863, 1864, 1864, 1864, 1865, 1865, 1865, 1866, 1866,
1866, 1867, 1867, 1867, 1868, 1868, 1868, 1901, 1901, 1901, 1902,
1902, 1902, 1903, 1903, 1903, 1904, 1904, 1904, 1905, 1905, 1905,
1906, 1906, 1906, 1907, 1907, 1907, 1908, 1908, 1908, 1501, 1501,
1501, 1502, 1502, 1502, 1503, 1503, 1503, 1504, 1505, 1505, 1505,
1506, 1506, 1506, 1507, 1507, 1507, 1508, 1508, 1508, 1603, 1603,
1603, 1604, 1604, 1604, 1605, 1605, 1606, 1606, 1607, 1607, 1607,
1608, 1608, 1608, 1609, 1609, 1609, 1610, 1610, 1610, 1861, 1861,
1861, 1862, 1862, 1862, 1863, 1863, 1863, 1864, 1864, 1864, 1865,
1865, 1865, 1866, 1866, 1866, 1867, 1867, 1867, 1868, 1868, 1868,
1901, 1901, 1901, 1902, 1902, 1902, 1903, 1903, 1903, 1904, 1904,
1904, 1905, 1905, 1905, 1906, 1906, 1906, 1907, 1907, 1907, 1908,
1908, 1908), Year = c(2015, 2015, 2015, 2015, 2015, 2015, 2015,
2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015,
2015, 2015, 2015, 2015, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
2016, 2016, 2016, 2016, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2019, 2019, 2019, 2019, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2015, 2015, 2015,
2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015,
2015, 2015, 2015, 2015, 2015, 2015, 2015, 2015, 2016, 2016, 2016,
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016,
2016, 2016, 2016, 2016, 2016, 2016, 2016, 2016, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018,
2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2018, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019, 2019,
2019), Site = c("C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1",
"C1", "C1", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1",
"C1", "C1", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1",
"C1", "C1", "C1", "C1", "C2", "C2", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C1", "C1", "C1", "C1", "C1", "C1",
"C1", "C1", "C1", "C1", "C1", "C1", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C1", "C1", "C1", "C1",
"C1", "C1", "C1", "C1", "C1", "C1", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C1", "C1", "C1", "C1",
"C1", "C1", "C1", "C1", "C1", "C1", "C2", "C2", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C1", "C1", "C1", "C1",
"C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C2", "C2", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C1", "C1",
"C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C1", "C2",
"C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2", "C2"
), `Unique ID` = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 13, 14, 15,
16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31,
32, 34, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49,
50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65,
66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81,
82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 189,
190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202,
203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215,
216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228,
229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241,
242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254,
255, 256, 257, 258, 259, 260, 261, 262, 263, 264, 265, 266, 267,
268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280
), Bacteria = c("Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia", "Verrucomicrobia",
"Verrucomicrobia", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria", "Actinobacteria", "Actinobacteria", "Actinobacteria",
"Actinobacteria"), `Relative Abundance` = c(4.92993e-06, 2.79252e-06,
9.59025e-06, 2.96831e-05, 1.14048e-05, 5.86271e-06, 6.876e-06,
1.02076e-05, 0, 7.42077e-06, 9.51129e-05, 0.003721242, 3.05584e-06,
2.8315e-06, 0.000161073, 0, 0.001076079, 0, 0, 0, 0, 0.004245058,
0.000324919, 3.27987e-06, 0, 2.82551e-06, 1.92284e-05, 6.60834e-05,
0.000118806, 0.000286241, 0, 6.7034e-06, 8.66331e-06, 0.000267126,
0.000136173, 1.75272e-05, 6.52129e-05, NA, 0.000299477, 0.000264087,
0.000203973, 0.000347363, 0.000107514, 7.83871e-05, 4.72279e-05,
7.72557e-05, 0.000416326, 0.001285187, 0.001873563, 9.57744e-05,
4.31584e-05, 5.65544e-05, 4.02682e-05, 0.002743056, 0.000101235,
0.000516122, 0.000109256, 0.000181216, 0.000149248, 0.000104081,
0.000251004, 0.000622344, 0.001039424, 0.000434005, 0.000484908,
0.000755647, 0.001053934, 0.000367492, 2.67877e-06, 3.86795e-06,
0.000123977, 0.0001223, 0.000994536, 2.32033e-05, 0.000466998,
0.000184167, 1.68707e-05, 1.40093e-05, 0, 0.000411027, 3.38058e-06,
0.00193679, 5.77196e-05, 0.000305241, 1.37314e-05, 7.37933e-05,
0.000639574, 9.85622e-08, 0, 0.001711992, 0.000286821, 0.000911554,
0.152830035, 0.214641359, 0.103664943, 0.203063099, 0.078563336,
0.193445624, 0.0625, 0.150725978, 0.095391201, 0.044501569, 0.180491149,
0.100133735, 0.06886907, 0.173138684, 0.057114466, 0.056328154,
0.029360086, 0.035896824, 0.02683017, 0.088388348, 0.092782723,
0.05041511, 0.034535798, 0.093238297, 0.026582541, 0.045894041,
0.07488104, 0.098722131, 0.09915842, 0.105207889, 0.122754859,
0.133773621, 0.098786568, 0.113356563, 0.090065264, 0.00163082,
0.082831295, 0.127928676, 0.158266465, 0.222865772, 0.071331106,
0.129489195, 0.110818055, 0.046838606, 0.266092546, 0.152830035,
0.143587294, 0.131648808, 0.176776695, 0.122427537, 0.160428237,
0.143587294, 0.10153155, 0.123279088, 0.161544104, 0.230046913,
0.11907975, 0.205897754, 0.131214585, 0.231647015, 0.275476279,
0.171942727, 0.112656308, 0.216134308, 0.132127255, 0.087777805,
0.159320078, 0.151774361, 0.074325445, 0.017824433, 0.315891949,
0.183436627, 0.171320845, 0.12473423, 0.076779945, 0.092214737,
0.06282578, 0.1121523, 0.043293606, 0.095564721, 0.067771728,
0.135008349, 0.109801913, 0.107022492, 0.093463189, 0.117410678,
0.11949425, 0.102192036, 0.131053478, 0.130832846, 0.102970362,
0.086133158)), row.names = c(NA, -184L), class = c("tbl_df",
"tbl", "data.frame"))
@Tung's note about inherit.aes = FALSE
, along with more precise x
/y
values, will give you the plot you want:
X2015_2019_R_Use %>%
mutate(Year = as.factor(Year)) %>%
ggplot(aes(x = Year, y = `Relative Abundance`, fill = Year)) +
geom_boxplot() +
facet_grid(Site ~ Bacteria) +
geom_text(
data = dat_text,
mapping = aes(label = paste0("p = ", label)),
x = "2019", y = .25,
inherit.aes = FALSE
) +
labs(x="Year", fill = "Year")
*Note that x
needs to be specified as a string and not a number, given its factor data type.