Hi, I am trying to assign a mean value point to each of the box plots on this figure. So an average for each lake in each year.
This is the reduced data set:
YearsPooled_txt <- tibble::tribble(
~Year, ~Lake, ~Total.Wt.(g), ~Total.Length.(mm), ~K, ~Parasites,
2015L, "A6", 0.0915, 29, 0.375169134, "Not Parasitized",
2015L, "A6", 0.1164, 30, 0.431111111, "Not Parasitized",
2015L, "A6", 0.166, 34, 0.42234887, "Not Parasitized",
2015L, "A6", 0.201, 36, 0.430812757, "Not Parasitized",
2015L, "A6", 0.1416, 33, 0.394022873, "Not Parasitized",
2015L, "A6", 0.1913, 35, 0.446180758, "Not Parasitized",
2015L, "A6", 0.1935, 34, 0.492316304, "Not Parasitized",
2015L, "A6", 0.1821, 35, 0.424723032, "Not Parasitized",
2015L, "A6", 2.8265, 71, 0.789721467, "Not Parasitized",
2015L, "A6", 0.0783, 25, 0.50112, "Not Parasitized",
2015L, "A6", 0.0837, 27, 0.425240055, "Not Parasitized",
2015L, "A6", 0.0819, 26, 0.465976331, "Not Parasitized",
2015L, "A6", 0.0946, 27, 0.480617792, "Not Parasitized",
2015L, "A6", 0.0811, 25, 0.51904, "Not Parasitized",
2015L, "A6", 0.0931, 27, 0.472997002, "Not Parasitized",
2015L, "A6", 0.0843, 26, 0.479631315, "Not Parasitized",
2015L, "A6", 0.0448, 23, 0.36820909, "Not Parasitized",
2015L, "A6", 0.0552, 24, 0.399305556, "Not Parasitized",
2015L, "A6", 0.1153, 28, 0.52523688, "Not Parasitized",
2015L, "A6", 0.1468, 30, 0.543703704, "Not Parasitized",
2015L, "A6", 0.1272, 31, 0.42697459, "Not Parasitized",
2015L, "A6", 0.0875, 22, 0.821750563, "Not Parasitized",
2015L, "A6", 0.096, 28, 0.437317784, "Not Parasitized",
2015L, "A6", 0.0736, 27, 0.373926739, "Not Parasitized",
2015L, "A6", 0.0512, 24, 0.37037037, "Not Parasitized",
2015L, "A6", 0.054, 25, 0.3456, "Not Parasitized",
2015L, "A6", 0.0466, 24, 0.337094907, "Not Parasitized",
2015L, "A6", 0.0706, 24, 0.510706019, "Not Parasitized",
2015L, "A6", 0.1055, 28, 0.480594023, "Not Parasitized",
2015L, "A6", 0.0222, 19, 0.323662341, "Not Parasitized",
2015L, "A6", 0.1069, 30, 0.395925926, "Not Parasitized",
2015L, "A6", 0.069, 25, 0.4416, "Not Parasitized",
2015L, "A8", 0.365, 41, 0.529591852, "Not Parasitized",
2015L, "A8", 0.534, 48, 0.482855903, "Not Parasitized",
2015L, "D7", 0.182, 35, 0.424489796, "Not Parasitized",
2015L, "D7", 0.1951, 34, 0.496387136, "Not Parasitized",
2015L, "D7", 0.2139, 34, 0.544219418, "Not Parasitized",
2015L, "D7", 0.2137, 34, 0.543710564, "Not Parasitized",
2015L, "D7", 0.2729, 39, 0.460054957, "Not Parasitized",
2015L, "D7", 0.3845, 44, 0.451375845, "Not Parasitized",
2015L, "D7", 0.3211, 41, 0.465895736, "Not Parasitized",
2015L, "D7", 0.3531, 48, 0.319281684, "Not Parasitized",
2015L, "D7", 0.621, 48, 0.561523438, "Not Parasitized",
2015L, "D7", 0.4377, 43, 0.550517564, "Not Parasitized",
2015L, "D7", 0.695, 51, 0.523931218, "Not Parasitized",
2015L, "D7", 1.122, 62, 0.470779766, "Not Parasitized",
2015L, "D7", 0.7418, 52, 0.527565999, "Not Parasitized",
2015L, "D7", 0.9674, 55, 0.581457551, "Not Parasitized",
2015L, "D7", 0.4216, 43, 0.530267775, "Not Parasitized",
2015L, "D7", 0.6057, 44, 0.711049023, "Not Parasitized",
2015L, "D7", 0.7109, 46, 0.730356703, "Not Parasitized",
2015L, "D7", 0.8889, 63, 0.355493167, "Not Parasitized",
2016L, "A6", 0.0534, 24, 0.386284722, "Not Parasitized",
2016L, "A6", 0.7558, 48, 0.683412905, "Not Parasitized",
2016L, "A6", 0.6106, 48, 0.552119502, "Not Parasitized",
2016L, "A8", 0.1219, 29, 0.499815491, "Not Parasitized",
2016L, "A8", 0.1249, 31, 0.419254137, "Not Parasitized",
2016L, "A8", 0.2519, 37, 0.497305194, "Not Parasitized",
2016L, "A8", 0.4617, 45, 0.506666667, "Not Parasitized",
2016L, "A8", 0.415, 42, 0.560144693, "Not Parasitized",
2016L, "A8", 0.9104, 51, 0.686312203, "Not Parasitized",
2016L, "A8", 0.4094, 45, 0.449272977, "Not Parasitized",
2016L, "A8", 0.636, 52, 0.452321347, "Not Parasitized",
2016L, "A8", 1.2313, 60, 0.570046296, "Not Parasitized",
2016L, "A8", 0.7861, 57, 0.424476087, "Not Parasitized",
2016L, "A8", 1.1206, 55, 0.673538693, "Not Parasitized",
2016L, "B2", 0.0643, 24, 0.465133102, "Not Parasitized",
2016L, "B2", 0.0807, 27, 0.409998476, "Not Parasitized",
2016L, "B2", 0.1435, 30, 0.531481481, "Not Parasitized",
2016L, "B2", 0.0292, 19, 0.425718035, "Not Parasitized",
2016L, "B2", 0.0689, 23, 0.566285855, "Not Parasitized",
2016L, "B2", 0.923, 52, 0.656434911, "Not Parasitized",
2016L, "D7", 0.706, 48, 0.638382523, "Not Parasitized",
2016L, "D7", 0.761, 54, 0.483285068, "Not Parasitized",
2016L, "D7", 0.506, 53, 0.339877886, "Not Parasitized",
2016L, "D7", 0.579, 57, 0.312646806, "Not Parasitized",
2016L, "D7", 0.689, 47, 0.663629446, "Not Parasitized",
2016L, "D7", 0.562, 55, 0.337791134, "Not Parasitized",
2016L, "D7", 0.6049, 51, 0.456008624, "Not Parasitized",
2016L, "D7", 0.744, 50, 0.5952, "Not Parasitized",
2016L, "D7", 0.59, 47, 0.568274852, "Not Parasitized",
2016L, "D7", 1.19, 57, 0.642572883, "Not Parasitized",
2016L, "D7", 0.487, 43, 0.612524683, "Not Parasitized",
2016L, "D7", 1.499, 64, 0.57182312, "Not Parasitized",
2017L, "B2", 0.264, 35, 0.61574344, "Not Parasitized",
2017L, "B2", 0.3025, 37, 0.597200561, "Not Parasitized",
2017L, "B2", 0.2666, 36, 0.571416324, "Not Parasitized",
2017L, "B2", 0.3032, 37.5, 0.574957037, "Not Parasitized",
2017L, "B2", 0.3573, 41, 0.51841964, "Not Parasitized",
2017L, "B2", 0.3339, 36, 0.71566358, "Not Parasitized",
2017L, "B2", 0.7899, 51, 0.59547233, "Not Parasitized",
2017L, "B2", 0.6915, 49, 0.587765302, "Not Parasitized",
2017L, "B2", 1.5012, 68, 0.477432322, "Not Parasitized",
2017L, "D7", 0.6741, 53, 0.452789887, "Not Parasitized",
2017L, "D7", 0.7112, 49, 0.604510026, "Not Parasitized",
2017L, "D7", 0.7173, 51, 0.540742248, "Not Parasitized",
2017L, "D7", 0.7104, 50, 0.56832, "Not Parasitized",
2017L, "D7", 0.9858, 59, 0.479990651, "Not Parasitized",
2015L, "A6", 0.5854, 47, 0.563844235, "Parasitized",
2015L, "A8", 0.5298, 48, 0.47905816, "Parasitized",
2015L, "A8", 0.8723, 51, 0.657590218, "Parasitized",
2015L, "D7", 0.5171, 46, 0.531252568, "Parasitized",
2015L, "D7", 0.55, 47, 0.529747744, "Parasitized",
2015L, "D7", 0.659, 46, 0.677036246, "Parasitized",
2015L, "D7", 0.5147, 46, 0.528786883, "Parasitized",
2016L, "A6", 1.3292, 61, 0.585599676, "Parasitized",
2016L, "A6", 0.3911, 45, 0.429190672, "Parasitized",
2016L, "A6", 0.696, 47, 0.67037169, "Parasitized",
2016L, "A6", 0.9489, 55, 0.570338092, "Parasitized",
2016L, "A6", 0.6278, 44, 0.736992863, "Parasitized",
2016L, "A8", 0.1397, 34, 0.35543456, "Parasitized",
2016L, "A8", 0.2709, 35, 0.631836735, "Parasitized",
2016L, "A8", 0.72, 51, 0.542777665, "Parasitized",
2016L, "A8", 0.399, 42, 0.538548753, "Parasitized",
2016L, "A8", 0.4075, 40, 0.63671875, "Parasitized",
2016L, "A8", 0.7956, 55, 0.478196844, "Parasitized",
2016L, "A8", 0.4075, 41, 0.591256656, "Parasitized",
2016L, "A8", 0.8086, 53, 0.543132922, "Parasitized",
2016L, "A8", 0.6535, 49, 0.555465835, "Parasitized",
2016L, "A8", 0.8723, 53, 0.58591992, "Parasitized",
2016L, "A8", 0.9278, 57, 0.500990858, "Parasitized",
2016L, "A8", 1.1383, 57, 0.614656062, "Parasitized",
2016L, "B2", 0.13, 36, 0.278635117, "Parasitized",
2016L, "B2", 1.1902, 57, 0.642680879, "Parasitized",
2016L, "D7", 0.2864, 42, 0.386567325, "Parasitized",
2016L, "D7", 0.4656, 41, 0.675556071, "Parasitized",
2016L, "D7", 0.3965, 45, 0.435116598, "Parasitized",
2016L, "D7", 1.1652, 58, 0.597195457, "Parasitized",
2017L, "A6", 1.7541, 68, 0.557863067, "Parasitized",
2017L, "B2", 0.8721, 54, 0.553840878, "Parasitized",
2017L, "D7", 0.5807, 55, 0.349030804, "Parasitized"
)
Here is my code:
Kplot <- ggplot(YearsPooled, aes(x=factor(Lake), y=K, fill = Year)) + geom_boxplot(aes(fill = factor(YearsPooled$Year)),position=position_dodge(1)) + stat_summary(fun.y="mean", geom="point", shape=23, size=2, fill="white") + theme_bw() + theme(plot.background = element_blank(), panel.grid.minor = element_blank(), panel.grid.major = element_blank()) + theme(axis.line = element_line(color = 'black')) + guides(shape=guide_legend(title=NULL), colour=guide_legend(title=NULL), fill=guide_legend(title=NULL)) + scale_fill_manual(values = c("grey40", "grey65", "grey90")) + theme(axis.title.y = element_text(family="Times", size = 12)) + theme(axis.title.x = element_text(family="Times", size = 12)) + theme(legend.text = element_text(size=12)) + facet_wrap( ~ YearsPooled$Parasites) + theme(strip.text = element_text(family="Times", face="bold", (size=12))) + labs(x="Lake", y="Condition Factor K")
> Kplot + theme(axis.title.y = element_text(family="Times", size = 12)) + theme(axis.title.x = element_text(family="Times", size = 12)) + theme(legend.text = element_text(size=12)) + theme(strip.text = element_text(family="Times", color = "black", face="bold", size=12)) + labs(x="Lake", y="Condition Factor K") + theme(legend.position = "top") + theme(axis.text = element_text(size = 11))
Here is the figure that this code is giving me:
I can't seem to figure out how to add mean values for each box plot separately. Right now with my code it seems to be calculating the total mean (for all years) for each lake. I am trying to calculate the mean for each lake for each year. I am sure if I figure out this code, I can then use the same code to add upper and lower standard deviation or error. Any suggestions on figuring this out?
Thanks!