R原始数据帧图与摘要数据帧图的不同趋势线
我很难用平均值和95%置信区间(藻类覆盖率与珊瑚繁殖率之比)来创建一个汇总数字 数据库R原始数据帧图与摘要数据帧图的不同趋势线,r,ggplot2,mixed-models,R,Ggplot2,Mixed Models,我很难用平均值和95%置信区间(藻类覆盖率与珊瑚繁殖率之比)来创建一个汇总数字 数据库 数据,而不对此进行过多研究-您如何期望它是相同的?您的数据摘要方法1是独特的,它提供了x和y的错误范围。线性回归直线法2不同,它给出了残差平方和最小的直线。需要误差范围,因为两个轴都代表平均值。我的困惑是,如果你取每个站点x避难所治疗组合的平均值并绘制一条趋势线,它不应该与原始数据趋势线相同吗?据我所知,所有的方法都是用来计算斜率系数的。这似乎是对多元线性回归方法的误解,而不是对混合回归的误解。使用多个参数拟
数据,而不对此进行过多研究-您如何期望它是相同的?您的数据摘要方法1是独特的,它提供了x和y的错误范围。线性回归直线法2不同,它给出了残差平方和最小的直线。需要误差范围,因为两个轴都代表平均值。我的困惑是,如果你取每个站点x避难所治疗组合的平均值并绘制一条趋势线,它不应该与原始数据趋势线相同吗?据我所知,所有的方法都是用来计算斜率系数的。这似乎是对多元线性回归方法的误解,而不是对混合回归的误解。使用多个参数拟合时,您可能会看到预期结果的反转。这是因为在多维空间中拟合平均子空间。你在2维中看到了负斜率,但在更高的维中,负部分实际上是由其他变量解释的。因此,考虑到所有其他变量,“藻类”的剩余效应实际上是积极的。我们只能看到3个维度(如果真的很好的话,可能是4到5个维度),但这并不全是视觉上的。
data <- structure(list(`Module #` = structure(c(1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L,
4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L,
7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L,
10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 12L,
12L, 12L, 12L, 12L, 12L), .Label = c("111", "112", "113", "114",
"115", "116", "211", "212", "213", "214", "215", "216"), class = "factor"),
TimeStep = structure(c(1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L,
6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L,
10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L,
2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L,
6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L,
10L, 1L, 2L, 5L, 6L, 9L, 10L), .Label = c("1", "2", "3",
"4", "5", "6", "7", "8", "9", "10", "11", "12"), class = "factor"),
Site_long = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("Hanauma Bay", "Waikiki"), class = "factor"),
Shelter = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("Low", "High"), class = c("ordered",
"factor")), Year = c(17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19,
17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19,
17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19), Season = c("summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall"), `Taxonomic Code` = c("PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR", "PR",
"PR"), Settlement_Area_final = c(2, 2, 1.75902336, 2, 2,
1.426963917, 2, 2, 2, 1.75902336, 1.75902336, 1.637579622,
1.51804672, 1.75902336, 1.75902336, 2, 1.510456486, 2, 1.51804672,
1.51804672, 2, 1.75902336, 1.510456486, 1.698301491, 1.75902336,
1.51804672, 1.75902336, 1.75902336, 1.51804672, 1.75902336,
2, 2, 2, 1.51804672, 1.667940557, 1.404193216, 2, 2, 2, 2,
2, 1.46300425, 2, 2, 2, 2, 2, 2, 1.75902336, 1.75902336,
1.75902336, 1.75902336, 1.614808922, 2, 1.75902336, 1.75902336,
2, 0.9487792, 1.37951168, 1.409872614, 1.75902336, 1.51804672,
1.75902336, 1.75902336, 1.743842893, 1.607218688, 1.75902336,
1.51804672, 1.366242048, 1.290339712, 1.206847142, 1.561677286
), recruits_new = c(0, 0, 1, 0, 0, 4, 0, 0, 0, 1, 2, 1, 4,
3, 1, 0, 5, 0, 6, 5, 0, 1, 4, 2, 2, 4, 2, 5, 2, 1, 0, 0,
0, 3, 1, 3, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 1, 2, 1,
2, 1, 0, 2, 2, 0, 4, 1, 1, 4, 8, 2, 3, 2, 1, 4, 8, 5, 4,
2, 1), coral_count_new = c(2, 2, 7, 7, 9, 13, 0, 0, 2, 3,
6, 8, 5, 9, 14, 16, 23, 22, 6, 13, 12, 5, 17, 14, 2, 1, 13,
21, 18, 18, 0, 1, 5, 9, 10, 8, 0, 0, 2, 0, 3, 3, 0, 0, 1,
1, 3, 1, 1, 4, 10, 13, 12, 11, 2, 4, 4, 3, 4, 7, 4, 10, 14,
20, 29, 31, 4, 13, 27, 26, 15, 10), percent_recruits = c(0,
0, 0.142857142857143, 0, 0, 0.307692307692308, NaN, NaN,
0, 0.333333333333333, 0.333333333333333, 0.125, 0.8, 0.333333333333333,
0.0714285714285714, 0, 0.217391304347826, 0, 1, 0.384615384615385,
0, 0.2, 0.235294117647059, 0.142857142857143, 1, 4, 0.153846153846154,
0.238095238095238, 0.111111111111111, 0.0555555555555556,
NaN, 0, 0, 0.333333333333333, 0.1, 0.375, NaN, NaN, 0, NaN,
0, 0.333333333333333, NaN, NaN, 0, 0, 0, 0, 1, 0.5, 0.1,
0.153846153846154, 0.0833333333333333, 0, 1, 0.5, 0, 1.33333333333333,
0.25, 0.142857142857143, 1, 0.8, 0.142857142857143, 0.15,
0.0689655172413793, 0.032258064516129, 1, 0.615384615384615,
0.185185185185185, 0.153846153846154, 0.133333333333333,
0.1), recruits_per_meter_squared = c(0, 0, 0.56849728249203,
0, 0, 2.80315427205017, 0, 0, 0, 0.56849728249203, 1.13699456498406,
0.610657330224154, 2.63496501609647, 1.70549184747609, 0.56849728249203,
0, 3.31025755878677, 0, 3.95244752414471, 3.29370627012059,
0, 0.56849728249203, 2.64820604702941, 1.177647202572, 1.13699456498406,
2.63496501609647, 1.13699456498406, 2.84248641246015, 1.31748250804824,
0.56849728249203, 0, 0, 0, 1.97622376207236, 0.599541749736349,
2.1364581211593, 0, 0, 0, 0, 0, 0.683525013683316, 0, 0,
0, 0, 0, 0, 0.56849728249203, 1.13699456498406, 0.56849728249203,
1.13699456498406, 0.619268314892305, 0, 1.13699456498406,
1.13699456498406, 0, 4.21594402575436, 0.724894188645072,
0.709283938187057, 2.27398912996812, 5.26993003219295, 1.13699456498406,
1.70549184747609, 1.14689230780379, 0.622192864895309, 2.27398912996812,
5.26993003219295, 3.65967363346732, 3.09995884246644, 1.65721070249674,
0.640337161182224), Date_new.x = structure(c(17301, 17387,
17684, 17780, 18046, 18144, 17306, 17389, 17682, 17773, 18047,
18140, 17304, 17390, 17675, 17782, 18039, 18139, 17299, 17389,
17682, 17780, 18039, 18139, 17299, 17388, 17677, 17773, 18048,
18140, 17292, 17387, 17675, 17782, 18046, 18144, 17288, 17386,
17687, 17783, 18037, 18135, 17288, 17386, 17687, 17783, 18037,
18135, 17288, 17386, 17687, 17783, 18044, 18142, 17288, 17386,
17687, 17783, 18044, 18135, 17288, 17386, 17680, 17783, 18037,
18142, 17288, 17386, 17683.5, 17783, 18044, 18135), class = "Date"),
Date.x = structure(c(17301, 17387, 17684, 17780, 18046, 18144,
17306, 17389, 17682, 17773, 18047, 18140, 17304, 17390, 17675,
17782, 18039, 18139, 17299, 17389, 17682, 17780, 18039, 18139,
17299, 17388, 17677, 17773, 18048, 18140, 17292, 17387, 17675,
17782, 18046, 18144, 17288, 17386, 17687, 17783, 18037, 18135,
17288, 17386, 17687, 17783, 18037, 18135, 17288, 17386, 17687,
17783, 18044, 18142, 17288, 17386, 17687, 17783, 18044, 18135,
17288, 17386, 17680, 17783, 18037, 18142, 17288, 17386, 17683.5,
17783, 18044, 18135), class = "Date"), Site = c("WAI", "WAI",
"WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI",
"WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI",
"WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI",
"WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "WAI", "HAN", "HAN",
"HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN",
"HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN",
"HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN",
"HAN", "HAN", "HAN", "HAN", "HAN", "HAN", "HAN"), Treatment = c("OPE",
"OPE", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "CLO", "CLO",
"CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "OPE", "OPE", "CLO",
"CLO", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "CLO", "CLO", "CLO", "CLO", "OPE",
"OPE", "OPE", "OPE", "OPE", "OPE", "CLO", "CLO", "CLO", "CLO",
"CLO", "CLO", "OPE", "OPE", "OPE", "OPE", "OPE", "OPE", "CLO",
"CLO", "CLO", "CLO", "CLO", "CLO", "OPE", "OPE", "OPE", "OPE",
"OPE", "OPE", "CLO", "CLO", "CLO", "CLO", "CLO", "CLO"),
Module = c(1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
3L, 3L, 3L, 3L, 3L, 3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L,
5L, 5L, 5L, 6L, 6L, 6L, 6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L,
8L, 8L, 8L, 8L, 8L, 8L, 9L, 9L, 9L, 9L, 9L, 9L, 10L, 10L,
10L, 10L, 10L, 10L, 11L, 11L, 11L, 11L, 11L, 11L, 12L, 12L,
12L, 12L, 12L, 12L), combined_cover = c(0.93, 0.97, 0.9,
0.92, 0.96, 0.909090909090909, 0.91, 0.87, 0.979381443298969,
0.93, 0.97, 0.9, 0.8, 0.9, 0.920792079207921, 0.9, 0.88,
0.81, 0.81, 0.71, 0.910112359550562, 0.92, 0.92, 0.94, 0.97,
0.94, 0.96, 0.92, 0.86, 0.89, 0.89, 0.82, 0.92, 0.868686868686869,
0.89, 0.89, 0.878787878787879, 0.752577319587629, 0.94, 0.98,
0.89, 0.98, 0.84, 0.88, 0.941176470588235, 0.939393939393939,
0.91, 0.98019801980198, 0.636363636363636, 0.878787878787879,
0.838383838383838, 0.74, 0.83, 0.94, 0.78, 0.808080808080808,
0.919191919191919, 0.918367346938776, 0.9, 0.93, 0.45, 0.61,
0.87, 0.8, 0.910891089108911, 0.9, 0.87, 0.92, 0.99, 0.929292929292929,
0.93, 0.96), Date_new.y = structure(c(17279, 17404, 17689,
17775, 18032, 18165, 17279, 17404, 17689, 17775, 18032, 18165,
17279, 17404, 17689, 17775, 18032, 18165, 17279, 17404, 17689,
17775, 18032, 18165, 17279, 17404, 17689, 17775, 18032, 18165,
17279, 17404, 17689, 17775, 18032, 18165, 17267, 17414, 17694,
17771, 18023, 18163, 17267, 17414, 17694, 17771, 18023, 18163,
17267, 17414, 17694, 17771, 18023, 18163, 17267, 17414, 17694,
17771, 18023, 18163, 17267, 17414, 17694, 17771, 18023, 18163,
17267, 17414, 17694, 17771, 18023, 18163), class = "Date"),
Date.y = structure(c(17279, 17404, 17689, 17775, 18032, 18165,
17279, 17404, 17689, 17775, 18032, 18165, 17279, 17404, 17689,
17775, 18032, 18165, 17279, 17404, 17689, 17775, 18032, 18165,
17279, 17404, 17689, 17775, 18032, 18165, 17279, 17404, 17689,
17775, 18032, 18165, 17267, 17414, 17694, 17771, 18023, 18163,
17267, 17414, 17694, 17771, 18023, 18163, 17267, 17414, 17694,
17771, 18023, 18163, 17267, 17414, 17694, 17771, 18023, 18163,
17267, 17414, 17694, 17771, 18023, 18163, 17267, 17414, 17694,
17771, 18023, 18163), class = "Date"), Treatment_long = c("Open",
"Open", "Open", "Open", "Open", "Open", "Closed", "Closed",
"Closed", "Closed", "Closed", "Closed", "Open", "Open", "Open",
"Open", "Open", "Open", "Closed", "Closed", "Closed", "Closed",
"Closed", "Closed", "Open", "Open", "Open", "Open", "Open",
"Open", "Closed", "Closed", "Closed", "Closed", "Closed",
"Closed", "Open", "Open", "Open", "Open", "Open", "Open",
"Closed", "Closed", "Closed", "Closed", "Closed", "Closed",
"Open", "Open", "Open", "Open", "Open", "Open", "Closed",
"Closed", "Closed", "Closed", "Closed", "Closed", "Open",
"Open", "Open", "Open", "Open", "Open", "Closed", "Closed",
"Closed", "Closed", "Closed", "Closed"), combined_cover_trans = c(0.0676586484738147,
0.0295588022415444, 0.0953101798043249, 0.0769610411361284,
0.0392207131532813, 0.0870113769896297, 0.0861776962410522,
0.122217632724249, 0.020408871631207, 0.0676586484738149,
0.0295588022415444, 0.0953101798043249, 0.182321556793955,
0.0953101798043249, 0.0762273653878843, 0.0953101798043249,
0.113328685307003, 0.173953307123438, 0.173953307123438,
0.254642218373581, 0.086074608771243, 0.0769610411361284,
0.0769610411361284, 0.0582689081239758, 0.0295588022415444,
0.0582689081239758, 0.0392207131532813, 0.0769610411361284,
0.131028262406404, 0.104360015324243, 0.104360015324243,
0.165514438477574, 0.0769610411361284, 0.123379021160505,
0.104360015324243, 0.104360015324243, 0.114410351177744,
0.221079567093358, 0.0582689081239758, 0.0198026272961797,
0.104360015324243, 0.0198026272961797, 0.148420005118273,
0.113328685307003, 0.0571584138399486, 0.0588405000229334,
0.0861776962410524, 0.0196084713883763, 0.31015492830384,
0.114410351177744, 0.14981227822866, 0.231111720963387, 0.157003748809665,
0.0582689081239758, 0.198850858745165, 0.175564774331075,
0.0777089843273163, 0.0784716154414953, 0.0953101798043249,
0.0676586484738147, 0.438254930931155, 0.3293037471426, 0.122217632724249,
0.182321556793955, 0.0853598489511568, 0.0953101798043249,
0.122217632724249, 0.0769610411361284, 0.00995033085316809,
0.0683192439774772, 0.0676586484738149, 0.0392207131532813
), Date = structure(c(17279, 17404, 17689, 17775, 18032,
18165, 17279, 17404, 17689, 17775, 18032, 18165, 17279, 17404,
17689, 17775, 18032, 18165, 17279, 17404, 17689, 17775, 18032,
18165, 17279, 17404, 17689, 17775, 18032, 18165, 17279, 17404,
17689, 17775, 18032, 18165, 17267, 17414, 17694, 17771, 18023,
18163, 17267, 17414, 17694, 17771, 18023, 18163, 17267, 17414,
17694, 17771, 18023, 18163, 17267, 17414, 17694, 17771, 18023,
18163, 17267, 17414, 17694, 17771, 18023, 18163, 17267, 17414,
17694, 17771, 18023, 18163), class = "Date"), recruits_per_meter_squared_trans = c(0,
0, 0.450118016094994, 0, 0, 1.33583079400559, 0, 0, 0, 0.450118016094994,
0.759400433041338, 0.476642375315249, 1.29059948675663, 0.995283724781047,
0.450118016094994, 0, 1.4609976607494, 0, 1.59988190370298,
1.45715029239415, 0, 0.450118016094994, 1.29423555280711,
0.778245029100044, 0.759400433041338, 1.29059948675663, 0.759400433041338,
1.34611966030469, 0.840481470661638, 0.450118016094994, 0,
0, 0, 1.0906553030127, 0.469717181808803, 1.1430941763722,
0, 0, 0, 0, 0, 0.520889817651359, 0, 0, 0, 0, 0, 0, 0.450118016094994,
0.759400433041338, 0.450118016094994, 0.759400433041338,
0.481974389742448, 0, 0.759400433041338, 0.759400433041338,
0, 1.65172009330802, 0.545165708686053, 0.536074533216259,
1.18600915883595, 1.83576519544269, 0.759400433041338, 0.995283724781047,
0.764021358255194, 0.483778854231975, 1.18600915883595, 1.83576519544269,
1.53894540994831, 1.41097693523706, 0.977276964535573, 0.494901806792905
)), row.names = c(NA, -72L), groups = structure(list(`Module #` = structure(c(1L,
1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 3L, 3L, 3L, 3L, 3L,
3L, 4L, 4L, 4L, 4L, 4L, 4L, 5L, 5L, 5L, 5L, 5L, 5L, 6L, 6L, 6L,
6L, 6L, 6L, 7L, 7L, 7L, 7L, 7L, 7L, 8L, 8L, 8L, 8L, 8L, 8L, 9L,
9L, 9L, 9L, 9L, 9L, 10L, 10L, 10L, 10L, 10L, 10L, 11L, 11L, 11L,
11L, 11L, 11L, 12L, 12L, 12L, 12L, 12L, 12L), .Label = c("111",
"112", "113", "114", "115", "116", "211", "212", "213", "214",
"215", "216"), class = "factor"), TimeStep = structure(c(1L,
2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L,
9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L,
2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L,
9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L, 1L,
2L, 5L, 6L, 9L, 10L, 1L, 2L, 5L, 6L, 9L, 10L), .Label = c("1",
"2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"), class = "factor"),
Site_long = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L,
2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("Hanauma Bay", "Waikiki"), class = "factor"),
Shelter = structure(c(2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L,
2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L,
2L, 2L, 2L, 1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L,
1L, 1L, 1L, 1L, 1L, 1L, 2L, 2L, 2L, 2L, 2L, 2L, 1L, 1L, 1L,
1L, 1L, 1L), .Label = c("Low", "High"), class = c("ordered",
"factor")), Year = c(17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19,
17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19,
17, 17, 18, 18, 19, 19, 17, 17, 18, 18, 19, 19, 17, 17, 18,
18, 19, 19), Season = c("summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall", "summer", "fall",
"summer", "fall", "summer", "fall", "summer", "fall", "summer",
"fall", "summer", "fall", "summer", "fall"), .rows = structure(list(
1L, 2L, 3L, 4L, 5L, 6L, 7L, 8L, 9L, 10L, 11L, 12L, 13L,
14L, 15L, 16L, 17L, 18L, 19L, 20L, 21L, 22L, 23L, 24L,
25L, 26L, 27L, 28L, 29L, 30L, 31L, 32L, 33L, 34L, 35L,
36L, 37L, 38L, 39L, 40L, 41L, 42L, 43L, 44L, 45L, 46L,
47L, 48L, 49L, 50L, 51L, 52L, 53L, 54L, 55L, 56L, 57L,
58L, 59L, 60L, 61L, 62L, 63L, 64L, 65L, 66L, 67L, 68L,
69L, 70L, 71L, 72L), ptype = integer(0), class = c("vctrs_list_of",
"vctrs_vctr", "list"))), row.names = c(NA, 72L), class = c("tbl_df",
"tbl", "data.frame"), .drop = TRUE), class = c("grouped_df",
"tbl_df", "tbl", "data.frame"))
module_recruitment <- data$`Module #`
data$Site_long <- as.factor(data$Site_long)
data$Shelter <- factor(data$Shelter, levels = c("Low", "High"), ordered = TRUE)
# factorize variables
recruitment_lm_A <- lmer(recruits_per_meter_squared ~ combined_cover + Site_long*Shelter + (1|Year/Season), data = data, na.action = "na.fail")
summary(recruitment_lm_A)
std.dev.pop <- function(x) sqrt(sum((x - mean(x))^2)/(length(x)))
std.error.pop <- function(x) (std.dev.pop(x))/(sqrt(length(x)))
#standard error function for error bars
## Summary Database
recruit_algae_data_PR_1_10_summary <- data %>% group_by(Site_long, Shelter) %>%
summarise(mean_recruit = mean(recruits_per_meter_squared),
sd_recruit = std.dev.pop(recruits_per_meter_squared),
lower_recruit = mean(recruits_per_meter_squared) - 1.96*std.error.pop(recruits_per_meter_squared),
upper_recruit = mean(recruits_per_meter_squared) + 1.96*std.error.pop(recruits_per_meter_squared),
mean_algae = mean(combined_cover),
sd_algae = std.dev.pop(combined_cover),
lower_algae = mean(combined_cover) - 1.96*std.error.pop(combined_cover),
upper_algae = mean(combined_cover) + 1.96*std.error.pop(combined_cover),
sample_size = n())
## Plot Code
recruit_algae_data_PR_1_10_plot <- ggplot(data = recruit_algae_data_PR_1_10_summary, aes(x = mean_algae, y = mean_recruit, fill = interaction(Site_long, Shelter), shape = interaction(Site_long, Shelter))) +
geom_point(aes(size = 5)) +
stat_smooth(method=lm, aes(fill = NULL, shape = NULL)) +
geom_line(aes(linetype = Shelter)) +
scale_linetype_manual(values=c("dashed", "solid")) +
scale_shape_manual(name = 'Site x Shelter', values = c(21, 24, 21, 24), labels = c("Hanauma Bay - Low", "Waikiki - Low", "Hanauma Bay - High", "Waikiki - High")) +
scale_fill_manual(name = "Site x Shelter", values = c(NA, NA, 1, 1), labels = c("Hanauma Bay - Low", "Waikiki - Low", "Hanauma Bay - High", "Waikiki - High")) +
guides(size = FALSE, linetype = FALSE, shape = guide_legend(override.aes = list(size = 4))) +
geom_errorbar(aes(ymin = lower_recruit, ymax = upper_recruit), width = 0) +
geom_errorbarh(aes(xmin = lower_algae, xmax = upper_algae), height = 0) +
labs(x = "Mean benthic algal % cover", y = expression(paste("Coral recruitment per m"^"2"))) +
theme_bw() +
theme(panel.border = element_blank(),
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.line = element_line(colour = "black"),
axis.title = element_text(size = rel(1)),
axis.text.y = element_text(angle = 90),
axis.text = element_text(size = 16),
legend.text = element_text(size = rel(1.5)),
legend.title = element_text(size = rel(1.5)),
legend.position = "none",
plot.title = element_text(size = 20, hjust = 0.5, vjust = -1.5))
rawplot <- ggplot(data = data, aes(x = combined_cover, y = recruits_per_meter_squared)) +
geom_point(aes(size = 5)) +
geom_smooth(method = "lm")