Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/65.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R原始数据帧图与摘要数据帧图的不同趋势线_R_Ggplot2_Mixed Models - Fatal编程技术网

R原始数据帧图与摘要数据帧图的不同趋势线

R原始数据帧图与摘要数据帧图的不同趋势线,r,ggplot2,mixed-models,R,Ggplot2,Mixed Models,我很难用平均值和95%置信区间(藻类覆盖率与珊瑚繁殖率之比)来创建一个汇总数字 数据库 数据,而不对此进行过多研究-您如何期望它是相同的?您的数据摘要方法1是独特的,它提供了x和y的错误范围。线性回归直线法2不同,它给出了残差平方和最小的直线。需要误差范围,因为两个轴都代表平均值。我的困惑是,如果你取每个站点x避难所治疗组合的平均值并绘制一条趋势线,它不应该与原始数据趋势线相同吗?据我所知,所有的方法都是用来计算斜率系数的。这似乎是对多元线性回归方法的误解,而不是对混合回归的误解。使用多个参数拟

我很难用平均值和95%置信区间(藻类覆盖率与珊瑚繁殖率之比)来创建一个汇总数字

数据库
数据,而不对此进行过多研究-您如何期望它是相同的?您的数据摘要方法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")