Packages

library(stats)
library(tidyr)
library(dplyr)
library(ggplot2)
library(readxl)
library(forcats)
library(cowplot)
library(devtools)
library(RColorBrewer)

Mortality

Pearson’s Chi-squared test

Test january to april

##Mortality
#Pearson's Chi square test
#Test january to april
mortality_jan_apr <- matrix(c(30, 7, 37, 3, 36, 3), byrow = T, nrow = 3)
rownames(mortality_jan_apr)<- c("A", "B", "C")
colnames(mortality_jan_apr)<- c("alive", "dead")
mortality_jan_apr
  alive dead
A    30    7
B    37    3
C    36    3
model1<- chisq.test(mortality_jan_apr)
model1

    Pearson's Chi-squared test

data:  mortality_jan_apr
X-squared = 3.2479, df = 2, p-value = 0.1971
model1$expected
     alive     dead
A 32.85345 4.146552
B 35.51724 4.482759
C 34.62931 4.370690

Test may to december

#Test may to december
mortality_may_dec <- matrix(c(15, 5, 23, 5, 28, 5), byrow = T, nrow = 3)
rownames(mortality_may_dec)<- c("A", "B", "C")
colnames(mortality_may_dec)<- c("alive", "dead")
mortality_may_dec
  alive dead
A    15    5
B    23    5
C    28    5
model2<- chisq.test(mortality_may_dec)
model2

    Pearson's Chi-squared test

data:  mortality_may_dec
X-squared = 0.81287, df = 2, p-value = 0.666
model2$expected
     alive     dead
A 16.29630 3.703704
B 22.81481 5.185185
C 26.88889 6.111111

Coral growth

Import data set

aranaR <- read_excel("aranaR.xlsx", col_types = c("text", "numeric", "text", "numeric", "numeric", "numeric"), na = "#N/A")
Filter structures A, B & C
arana_A <- aranaR %>%
  filter(structure == "A")
arana_B <- aranaR %>%
  filter(structure == "B")
arana_C <- aranaR %>%
  filter(structure == "C")

ANOVA Area non depending on initial sizes

AranaRanovaA <- aov(area ~ month, data = aranaR)
anova(AranaRanovaA)
AranaRAnovaASummary <- summary.lm(AranaRanovaA)
AranaRAnovaASummary$r.squared
[1] 0.3281756
plot(AranaRanovaA)

ANOVA Area Structure A

AranaAAnova <- aov(area ~ month, data = arana_A)
anova(AranaAAnova)
Analysis of Variance Table

Response: area
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10  14742  1474.2  36.128 < 2.2e-16 ***
Residuals 261  10650    40.8                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaAAnovaSummary <- summary.lm(AranaAAnova)
AranaAAnovaSummary$r.squared
plot(AranaAAnova)

TukeyHSD(AranaAAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = area ~ month, data = arana_A)

$`month`
                diff         lwr       upr     p adj
Feb-Jan    0.1636212 -4.66202025  4.989263 1.0000000
Apr-Jan    1.9313736 -3.07717126  6.939918 0.9755749
May-Jan    3.2371322 -1.77141264  8.245677 0.5791367
June-Jan   6.0084359  0.83178149 11.185090 0.0091306
July-Jan  10.1220867  4.88187552 15.362298 0.0000001
Aug-Jan   11.3243485  5.86475840 16.783939 0.0000000
Sept-Jan  17.8384298 12.10295330 23.573906 0.0000000
Oct-Jan   18.6954792 12.60101686 24.789941 0.0000000
Nov-Jan   18.1809167 12.08645436 24.275379 0.0000000
Dec-Jan   21.0773000 14.83746382 27.317136 0.0000000
Apr-Feb    1.7677524 -3.51239340  7.047898 0.9915136
May-Feb    3.0735110 -2.20663478  8.353657 0.7231434
June-Feb   5.8448147  0.40494624 11.284683 0.0236533
July-Feb   9.9584655  4.45808085 15.458850 0.0000007
Aug-Feb   11.1607273  5.45095129 16.870503 0.0000001
Sept-Feb  17.6748086 11.70068869 23.648929 0.0000000
Oct-Feb   18.5318580 12.21229399 24.851422 0.0000000
Nov-Feb   18.0172955 11.69773149 24.336859 0.0000000
Dec-Feb   20.9136788 14.45380468 27.373553 0.0000000
May-Apr    1.3057586 -4.14205240  6.753570 0.9994791
June-Apr   4.0770623 -1.52569363  9.679818 0.3946086
July-Apr   8.1907131  2.52918182 13.852244 0.0002203
Aug-Apr    9.3929749  3.52780250 15.258147 0.0000214
Sept-Apr  15.9070563  9.78424525 22.029867 0.0000000
Oct-Apr   16.7641056 10.30379645 23.224415 0.0000000
Nov-Apr   16.2495431  9.78923395 22.709852 0.0000000
Dec-Apr   19.1459264 12.54829965 25.743553 0.0000000
June-May   2.7713037 -2.83145225  8.374060 0.8784968
July-May   6.8849545  1.22342320 12.546486 0.0047365
Aug-May    8.0872163  2.22204388 13.952389 0.0005730
Sept-May  14.6012976  8.47848663 20.724109 0.0000000
Oct-May   15.4583470  8.99803783 21.918656 0.0000000
Nov-May   14.9437845  8.48347533 21.404094 0.0000000
Dec-May   17.8401678 11.24254103 24.437795 0.0000000
July-June  4.1136508 -1.69712939  9.924431 0.4377143
Aug-June   5.3159126 -0.69345319 11.325278 0.1376760
Sept-June 11.8299939  5.56892021 18.091068 0.0000002
Oct-June  12.6870433  6.09554694 19.278540 0.0000001
Nov-June  12.1724808  5.58098444 18.763977 0.0000004
Dec-June  15.0688641  8.34272786 21.795000 0.0000000
Aug-July   1.2022618 -4.86193962  7.266463 0.9999057
Sept-July  7.7163432  1.40261952 14.030067 0.0043995
Oct-July   8.5733925  1.93186512 15.214920 0.0018547
Nov-July   8.0588300  1.41730262 14.700357 0.0048938
Dec-July  10.9552133  4.18004021 17.730386 0.0000168
Sept-Aug   6.5140813  0.01712688 13.011036 0.0487515
Oct-Aug    7.3711307  0.55517902 14.187082 0.0219640
Nov-Aug    6.8565682  0.04061652 13.672520 0.0472160
Dec-Aug    9.7529515  2.80670924 16.699194 0.0004038
Oct-Sept   0.8570493 -6.18182586  7.895925 0.9999991
Nov-Sept   0.3424868 -6.69638836  7.381362 1.0000000
Dec-Sept   3.2388702 -3.92624315 10.403983 0.9289677
Nov-Oct   -0.5145625 -7.84890255  6.819778 1.0000000
Dec-Oct    2.3818208 -5.07375619  9.837398 0.9941333
Dec-Nov    2.8963833 -4.55919369 10.351960 0.9742488

Anova Area Structure B

AranaBAnova <- aov(area ~ month, data = arana_B)
anova(AranaBAnova)
Analysis of Variance Table

Response: area
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10  79412  7941.2  51.008 < 2.2e-16 ***
Residuals 321  49975   155.7                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaBAnovaSummary <- summary.lm(AranaBAnova)
AranaBAnovaSummary$r.squared
[1] 0.6137555
plot(AranaBAnova)
TukeyHSD(AranaBAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = area ~ month, data = arana_B)

$`month`
                diff         lwr       upr     p adj
Feb-Jan    1.5984524  -7.4584963 10.655401 0.9999688
Apr-Jan    6.6667227  -2.4542550 15.787700 0.3895697
May-Jan    9.0473952  -0.2110924 18.305883 0.0620416
June-Jan  17.2029007   7.4359524 26.969849 0.0000014
July-Jan  26.0507972  16.2838490 35.817745 0.0000000
Aug-Jan   25.0788124  14.8601016 35.297523 0.0000000
Sept-Jan  41.7067724  31.4880616 51.925483 0.0000000
Oct-Jan   33.0689324  22.8502216 43.287643 0.0000000
Nov-Jan   34.9937857  24.6424819 45.345090 0.0000000
Dec-Jan   46.3570611  35.8635344 56.850588 0.0000000
Apr-Feb    5.0682703  -4.2748368 14.411377 0.8032730
May-Feb    7.4489429  -2.0284518 16.926337 0.2809745
June-Feb  15.6044483   5.6297456 25.579151 0.0000355
July-Feb  24.4523448  14.4776421 34.427048 0.0000000
Aug-Feb   23.4803600  13.0629003 33.897820 0.0000000
Sept-Feb  40.1083200  29.6908603 50.525780 0.0000000
Oct-Feb   31.4704800  21.0530203 41.887940 0.0000000
Nov-Feb   33.3953333  22.8477788 43.942888 0.0000000
Dec-Feb   44.7586087  34.0714427 55.445775 0.0000000
May-Apr    2.3806726  -7.1579292 11.919274 0.9992752
June-Apr  10.5361780   0.5033016 20.569054 0.0303500
July-Apr  19.3840746   9.3511982 29.416951 0.0000001
Aug-Apr   18.4120897   7.9389154 28.885264 0.0000015
Sept-Apr  35.0400497  24.5668754 45.513224 0.0000000
Oct-Apr   26.4022097  15.9290354 36.875384 0.0000000
Nov-Apr   28.3270631  17.7244774 38.929649 0.0000000
Dec-Apr   39.6903384  28.9488565 50.431820 0.0000000
June-May   8.1555054  -2.0025440 18.313555 0.2515938
July-May  17.0034020   6.8453526 27.161451 0.0000061
Aug-May   16.0314171   5.4382712 26.624563 0.0000780
Sept-May  32.6593771  22.0662312 43.252523 0.0000000
Oct-May   24.0215371  13.4283912 34.614683 0.0000000
Nov-May   25.9463905  15.2252813 36.667500 0.0000000
Dec-May   37.3096658  26.4511764 48.168155 0.0000000
July-June  8.8478966  -1.7756458 19.471439 0.2044285
Aug-June   7.8759117  -3.1643974 18.916221 0.4276569
Sept-June 24.5038717  13.4635626 35.544181 0.0000000
Oct-June  15.8660317   4.8257226 26.906341 0.0002416
Nov-June  17.7908851   6.6277374 28.954033 0.0000224
Dec-June  29.1541604  17.8590076 40.449313 0.0000000
Aug-July  -0.9719848 -12.0122939 10.068324 1.0000000
Sept-July 15.6559752   4.6156661 26.696284 0.0003177
Oct-July   7.0181352  -4.0221739 18.058444 0.6060956
Nov-July   8.9429885  -2.2201592 20.106136 0.2545349
Dec-July  20.3062639   9.0111111 31.601417 0.0000007
Sept-Aug  16.6279600   5.1860547 28.069865 0.0001910
Oct-Aug    7.9901200  -3.4517853 19.432025 0.4613356
Nov-Aug    9.9149733  -1.6455041 21.475451 0.1703243
Dec-Aug   21.2782487   9.5902528 32.966245 0.0000005
Oct-Sept  -8.6378400 -20.0797453  2.804065 0.3399608
Nov-Sept  -6.7129867 -18.2734641  4.847491 0.7282767
Dec-Sept   4.6502887  -7.0377072 16.338285 0.9700423
Nov-Oct    1.9248533  -9.6356241 13.485331 0.9999819
Dec-Oct   13.2881287   1.6001328 24.976125 0.0118739
Dec-Nov   11.3632754  -0.4408210 23.167372 0.0709320

Anova Area Structure C

AranaCAnova <- aov(area ~ month, data = arana_C)
anova(AranaCAnova)
Analysis of Variance Table

Response: area
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10  59342  5934.2  15.429 < 2.2e-16 ***
Residuals 349 134230   384.6                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaCAnovaSummary <- summary.lm(AranaCAnova)
AranaCAnovaSummary$r.squared
[1] 0.3065638
plot(AranaCAnova)

TukeyHSD(AranaCAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = area ~ month, data = arana_C)

$`month`
                diff         lwr      upr     p adj
Feb-Jan    3.3011585 -11.0081378 17.61045 0.9996411
Apr-Jan   10.7031585  -3.8109592 25.21728 0.3764401
May-Jan   15.6217252   0.3543255 30.88912 0.0398370
June-Jan  20.3973644   5.6576964 35.13703 0.0005089
July-Jan  27.3450525  12.4837997 42.20631 0.0000003
Aug-Jan   29.2183360  14.0938044 44.34287 0.0000001
Sept-Jan  34.1318521  19.0073206 49.25638 0.0000000
Oct-Jan   35.9243252  20.6569255 51.19172 0.0000000
Nov-Jan   30.7182657  15.1391766 46.29735 0.0000000
Dec-Jan   36.3273371  20.7482481 51.90643 0.0000000
Apr-Feb    7.4020000  -7.3775520 22.18155 0.8717355
May-Feb   12.3205667  -3.1993895 27.84052 0.2674606
June-Feb  17.0962059   2.0950940 32.09732 0.0114729
July-Feb  24.0438939   8.9232995 39.16449 0.0000231
Aug-Feb   25.9171774  10.5377432 41.29661 0.0000049
Sept-Feb  30.8306935  15.4512593 46.21013 0.0000000
Oct-Feb   32.6231667  17.1032105 48.14312 0.0000000
Nov-Feb   27.4171071  11.5904348 43.24378 0.0000022
Dec-Feb   33.0261786  17.1995062 48.85285 0.0000000
May-Apr    4.9185667 -10.7904336 20.62757 0.9951484
June-Apr   9.6942059  -5.5024059 24.89082 0.6017363
July-Apr  16.6418939   1.3273248 31.95646 0.0206447
Aug-Apr   18.5151774   2.9449928 34.08536 0.0064322
Sept-Apr  23.4286935   7.8585089 38.99888 0.0000871
Oct-Apr   25.2211667   9.5121664 40.93017 0.0000180
Nov-Apr   20.0151071   4.0030114 36.02720 0.0030392
Dec-Apr   25.6241786   9.6120828 41.63627 0.0000196
June-May   4.7756392 -11.1419891 20.69327 0.9965722
July-May  11.7233273  -4.3069537 27.75361 0.3893605
Aug-May   13.5966108  -2.6780484 29.87127 0.2009751
Sept-May  18.5101269   2.2354677 34.78479 0.0117779
Oct-May   20.3026000   3.8950843 36.71012 0.0035616
Nov-May   15.0965405  -1.6013963 31.79448 0.1181056
Dec-May   20.7056119   4.0076751 37.40355 0.0034468
July-June  6.9476881  -8.5808093 22.47619 0.9346850
Aug-June   8.8209715  -6.9596764 24.60162 0.7728987
Sept-June 13.7344877  -2.0461603 29.51514 0.1547949
Oct-June  15.5269608  -0.3906675 31.44459 0.0630778
Nov-June  10.3209013  -5.8959237 26.53773 0.6051754
Dec-June  15.9299727  -0.2868523 32.14680 0.0591639
Aug-July   1.8732835 -14.0209881 17.76756 0.9999993
Sept-July  6.7867996  -9.1074719 22.68107 0.9517649
Oct-July   8.5792727  -7.4510083 24.60955 0.8168957
Nov-July   3.3732132 -12.9542002 19.70063 0.9998674
Dec-July   8.9822846  -7.3451288 25.30970 0.7897825
Sept-Aug   4.9135161 -11.2271929 21.05423 0.9961387
Oct-Aug    6.7059892  -9.5686699 22.98065 0.9620473
Nov-Aug    1.4999297 -15.0674796 18.06734 1.0000000
Dec-Aug    7.1090012  -9.4584081 23.67641 0.9501751
Oct-Sept   1.7924731 -14.4821860 18.06713 0.9999997
Nov-Sept  -3.4135864 -19.9809957 13.15382 0.9998706
Dec-Sept   2.1954850 -14.3719243 18.76289 0.9999980
Nov-Oct   -5.2060595 -21.9039963 11.49188 0.9953118
Dec-Oct    0.4030119 -16.2949249 17.10095 1.0000000
Dec-Nov    5.6090714 -11.3743208 22.59246 0.9925782

ANOVA Length non depending on initial sizes

AranaRanovaL <- aov(length ~ month, data = aranaR)
anova(AranaRanovaL)
Analysis of Variance Table

Response: length
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10 2637.7 263.766   35.19 < 2.2e-16 ***
Residuals 953 7143.3   7.496                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaRanovaLSummary <- summary.lm(AranaRanovaL)
AranaRanovaLSummary$r.squared
[1] 0.2696734
plot(AranaRanovaL)

TukeyHSD(AranaRanovaL)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = length ~ month, data = aranaR)

$`month`
                diff         lwr          upr     p adj
Aug-Apr    1.9672066  0.63850025  3.295913024 0.0001088
Dec-Apr    3.6783360  2.28285881  5.073813206 0.0000000
Feb-Apr   -0.7729353 -1.98987220  0.444001543 0.6140531
Jan-Apr   -1.1730616 -2.35174721  0.005624075 0.0523724
July-Apr   1.8243026  0.53512914  3.113476003 0.0002927
June-Apr   1.0648593 -0.21647290  2.346191565 0.2098098
May-Apr    0.1315678 -1.13143462  1.394570207 0.9999998
Nov-Apr    2.8188873  1.43592580  4.201848710 0.0000000
Oct-Apr    3.3294798  1.96416142  4.694798258 0.0000000
Sept-Apr   3.1064318  1.76275108  4.450112446 0.0000000
Dec-Aug    1.7111294  0.23371563  3.188543113 0.0090285
Feb-Aug   -2.7401420 -4.05022979 -1.430054142 0.0000000
Jan-Aug   -3.1402682 -4.41490329 -1.865633120 0.0000000
July-Aug  -0.1429041 -1.52035203  1.234543898 0.9999998
June-Aug  -0.9023473 -2.27245936  0.467764752 0.5595117
May-Aug   -1.8356388 -3.18862438 -0.482653311 0.0006807
Nov-Aug    0.8516806 -0.61391726  2.317278497 0.7336765
Oct-Aug    1.3622732 -0.08668820  2.811234603 0.0873127
Sept-Aug   1.1392251 -0.28936597  2.567816227 0.2644263
Feb-Dec   -4.4512713 -5.82903258 -3.073510090 0.0000000
Jan-Dec   -4.8513976 -6.19549227 -3.507302881 0.0000000
July-Dec  -1.8540334 -3.29599698 -0.412069900 0.0018065
June-Dec  -2.6134767 -4.04843417 -1.178519187 0.0000003
May-Dec   -3.5467682 -4.96538226 -2.128154172 0.0000000
Nov-Dec   -0.8594488 -2.38584093  0.666943428 0.7701417
Oct-Dec   -0.3488562 -1.85928163  1.161569297 0.9996601
Sept-Dec  -0.5719042 -2.06279943  0.918990950 0.9780524
Jan-Feb   -0.4001262 -1.55778305  0.757530571 0.9899517
July-Feb   2.5972379  1.32726247  3.867213327 0.0000000
June-Feb   1.8377947  0.57577971  3.099809612 0.0001579
May-Feb    0.9045031 -0.33889727  2.147903517 0.4024935
Nov-Feb    3.5918226  2.22673950  4.956905670 0.0000000
Oct-Feb    4.1024152  2.75520924  5.449621103 0.0000000
Sept-Feb   3.8793671  2.55409459  5.204639601 0.0000000
July-Jan   2.9973641  1.76399393  4.230734350 0.0000000
June-Jan   2.2379209  1.01274898  3.463092818 0.0000003
May-Jan    1.3046294  0.09864054  2.510618181 0.0215061
Nov-Jan    3.9919488  2.66085291  5.323044734 0.0000000
Oct-Jan    4.5025414  3.18978541  5.815297410 0.0000000
Sept-Jan   4.2794933  2.98925626  5.569730408 0.0000000
June-July -0.7594432 -2.09125198  0.572365504 0.7559207
May-July  -1.6927348 -3.00691792 -0.378551634 0.0017523
Nov-July   0.9945847 -0.43527007  2.424439440 0.4736803
Oct-July   1.5051773  0.09237983  2.917974714 0.0256572
Sept-July  1.2821292 -0.10976879  2.674027182 0.1031074
May-June  -0.9332915 -2.23978359  0.373200515 0.4312905
Nov-June   1.7540279  0.33123884  3.176817007 0.0036063
Oct-June   2.2646205  0.85897448  3.670266542 0.0000133
Sept-June  2.0415724  0.65693380  3.426211073 0.0001195
Nov-May    2.6873195  1.28101524  4.093623687 0.0000001
Oct-May    3.1979120  1.80895432  4.586869775 0.0000000
Sept-May   2.9748640  1.60716994  4.342558002 0.0000000
Oct-Nov    0.5105926 -0.98827728  2.009462446 0.9910220
Sept-Nov   0.2875445 -1.19164251  1.766731533 0.9999291
Sept-Oct  -0.2230481 -1.68575319  1.239657037 0.9999928

ANOVA Length Structure A

AranaALAnova <- aov(length ~ month, data = arana_A)
anova(AranaALAnova)
Analysis of Variance Table

Response: length
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10 640.15  64.015  39.977 < 2.2e-16 ***
Residuals 261 417.94   1.601                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaALAnovaSummary <- summary.lm(AranaALAnova)
AranaALAnovaSummary$r.squared
[1] 0.6050045
plot(AranaALAnova)

TukeyHSD(AranaALAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = length ~ month, data = arana_A)

$`month`
                 diff         lwr      upr     p adj
Feb-Jan    0.17712771 -0.77883715 1.133093 0.9999495
Apr-Jan    0.94518309 -0.04701512 1.937381 0.0775233
May-Jan    1.18783826  0.19564005 2.180036 0.0059483
June-Jan   1.83016850  0.80466760 2.855669 0.0000011
July-Jan   2.63869619  1.60060463 3.676788 0.0000000
Aug-Jan    2.73233983  1.65078906 3.813891 0.0000000
Sept-Jan   3.94134461  2.80514044 5.077549 0.0000000
Oct-Jan    4.14947619  2.94215654 5.356796 0.0000000
Nov-Jan    3.82760119  2.62028154 5.034921 0.0000000
Dec-Jan    4.49417619  3.25805781 5.730295 0.0000000
Apr-Feb    0.76805538 -0.27794727 1.814058 0.3806322
May-Feb    1.01071055 -0.03529210 2.056713 0.0685411
June-Feb   1.65304079  0.57539690 2.730685 0.0000608
July-Feb   2.46156848  1.37193628 3.551201 0.0000000
Aug-Feb    2.55521212  1.42409925 3.686325 0.0000000
Sept-Feb   3.76421691  2.58073721 4.947697 0.0000000
Oct-Feb    3.97234848  2.72043595 5.224261 0.0000000
Nov-Feb    3.65047348  2.39856095 4.902386 0.0000000
Dec-Feb    4.31704848  3.03734036 5.596757 0.0000000
May-Apr    0.24265517 -0.83656215 1.321872 0.9997048
June-Apr   0.88498541 -0.22492668 1.994897 0.2597257
July-Apr   1.69351310  0.57195756 2.815069 0.0000871
Aug-Apr    1.78715674  0.62525967 2.949054 0.0000570
Sept-Apr   2.99616152  1.78322596 4.209097 0.0000000
Oct-Apr    3.20429310  1.92449879 4.484087 0.0000000
Nov-Apr    2.88241810  1.60262379 4.162212 0.0000000
Dec-Apr    3.54899310  2.24199602 4.855990 0.0000000
June-May   0.64233024 -0.46758185 1.752242 0.7302033
July-May   1.45085793  0.32930239 2.572413 0.0017902
Aug-May    1.54450157  0.38260449 2.706399 0.0011208
Sept-May   2.75350635  1.54057079 3.966442 0.0000000
Oct-May    2.96163793  1.68184362 4.241432 0.0000000
Nov-May    2.63976293  1.35996862 3.919557 0.0000000
Dec-May    3.30633793  1.99934085 4.613335 0.0000000
July-June  0.80852769 -0.34259421 1.959650 0.4501109
Aug-June   0.90217133 -0.28829061 2.092633 0.3325747
Sept-June  2.11117611  0.87085056 3.351502 0.0000042
Oct-June   2.31930769  1.01352506 3.625090 0.0000012
Nov-June   1.99743269  0.69165006 3.303215 0.0000648
Dec-June   2.66400769  1.33155274 3.996463 0.0000000
Aug-July   0.09364364 -1.10768130 1.294969 1.0000000
Sept-July  1.30264842  0.05189286 2.553404 0.0332328
Oct-July   1.51078000  0.19508616 2.826474 0.0105261
Nov-July   1.18890500 -0.12678884 2.504599 0.1180353
Dec-July   1.85548000  0.51331079 3.197649 0.0005453
Sept-Aug   1.20900478 -0.07804900 2.496059 0.0871591
Oct-Aug    1.41713636  0.06688888 2.767384 0.0306224
Nov-Aug    1.09526136 -0.25498612 2.445509 0.2367936
Dec-Aug    1.76183636  0.38577817 3.137895 0.0021237
Oct-Sept   0.20813158 -1.18627730 1.602540 0.9999934
Nov-Sept  -0.11374342 -1.50815230 1.280665 1.0000000
Dec-Sept   0.55283158 -0.86658521 1.972248 0.9737777
Nov-Oct   -0.32187500 -1.77481579 1.131066 0.9997416
Dec-Oct    0.34470000 -1.13225797 1.821658 0.9995885
Dec-Nov    0.66657500 -0.81038297 2.143533 0.9296701

ANOVA Length Structure B

AranaBLAnova <- aov(length ~ month, data = arana_B)
anova(AranaBLAnova)
Analysis of Variance Table

Response: length
           Df  Sum Sq Mean Sq F value    Pr(>F)    
month      10 1116.23 111.623  56.514 < 2.2e-16 ***
Residuals 321  634.02   1.975                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaBLAnovaSummary <- summary.lm(AranaBLAnova)
AranaBLAnovaSummary$r.squared
[1] 0.6377569
plot(AranaBLAnova)

TukeyHSD(AranaBLAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = length ~ month, data = arana_B)

$`month`
                 diff         lwr       upr     p adj
Feb-Jan    0.18207018 -0.83806086 1.2022012 0.9999653
Apr-Jan    1.06367117  0.03632821 2.0910141 0.0352882
May-Jan    1.39714762  0.35431620 2.4399790 0.0009454
June-Jan   2.55507471  1.45497274 3.6551767 0.0000000
July-Jan   3.40917816  2.30907619 4.5092801 0.0000000
Aug-Jan    3.44835333  2.29736701 4.5993397 0.0000000
Sept-Jan   4.93403333  3.78304701 6.0850197 0.0000000
Oct-Jan    4.24211333  3.09112701 5.3930997 0.0000000
Nov-Jan    4.27337500  3.10745403 5.4392960 0.0000000
Dec-Jan    5.34344203  4.16150177 6.5253823 0.0000000
Apr-Feb    0.88160100 -0.17076155 1.9339635 0.1973730
May-Feb    1.21507744  0.14758940 2.2825655 0.0116927
June-Feb   2.37300454  1.24950211 3.4965070 0.0000000
July-Feb   3.22710799  2.10360556 4.3506104 0.0000000
Aug-Feb    3.26628316  2.09291072 4.4396556 0.0000000
Sept-Feb   4.75196316  3.57859072 5.9253356 0.0000000
Oct-Feb    4.06004316  2.88667072 5.2334156 0.0000000
Nov-Feb    4.09130482  2.90327912 5.2793305 0.0000000
Dec-Feb    5.16137185  3.95762099 6.3651227 0.0000000
May-Apr    0.33347645 -0.74090568 1.4078586 0.9954439
June-Apr   1.49140354  0.36134870 2.6214584 0.0012371
July-Apr   2.34550699  1.21545215 3.4755618 0.0000000
Aug-Apr    2.38468216  1.20503429 3.5643300 0.0000000
Sept-Apr   3.87036216  2.69071429 5.0500100 0.0000000
Oct-Apr    3.17844216  1.99879429 4.3580900 0.0000000
Nov-Apr    3.20970383  2.01547969 4.4039280 0.0000000
Dec-Apr    4.27977086  3.06990211 5.4896396 0.0000000
June-May   1.15792709  0.01377337 2.3020808 0.0444896
July-May   2.01203054  0.86787682 3.1561843 0.0000015
Aug-May    2.05120571  0.85804482 3.2443666 0.0000029
Sept-May   3.53688571  2.34372482 4.7300466 0.0000000
Oct-May    2.84496571  1.65180482 4.0381266 0.0000000
Nov-May    2.87622738  1.66865332 4.0838014 0.0000000
Dec-May    3.94629441  2.72324650 5.1693423 0.0000000
July-June  0.85410345 -0.34248116 2.0506881 0.4267591
Aug-June   0.89327862 -0.35024858 2.1368058 0.4167405
Sept-June  2.37895862  1.13543142 3.6224858 0.0000001
Oct-June   1.68703862  0.44351142 2.9305658 0.0007511
Nov-June   1.71830029  0.46093714 2.9756634 0.0006551
Dec-June   2.78836732  1.51613575 4.0605989 0.0000000
Aug-July   0.03917517 -1.20435203 1.2827024 1.0000000
Sept-July  1.52485517  0.28132797 2.7683824 0.0041167
Oct-July   0.83293517 -0.41059203 2.0764624 0.5267952
Nov-July   0.86419684 -0.39316631 2.1215600 0.4864173
Dec-July   1.93426387  0.66203230 3.2064954 0.0000701
Sept-Aug   1.48568000  0.19691894 2.7744411 0.0099002
Oct-Aug    0.79376000 -0.49500106 2.0825211 0.6513260
Nov-Aug    0.82502167 -0.47709479 2.1271381 0.6109014
Dec-Aug    1.89508870  0.57860917 3.2115682 0.0002333
Oct-Sept  -0.69192000 -1.98068106 0.5968411 0.8132642
Nov-Sept  -0.66065833 -1.96277479 0.6414581 0.8615894
Dec-Sept   0.40940870 -0.90707083 1.7258882 0.9953724
Nov-Oct    0.03126167 -1.27085479 1.3333781 1.0000000
Dec-Oct    1.10132870 -0.21515083 2.4178082 0.1990411
Dec-Nov    1.07006703 -0.25948948 2.3996235 0.2483002

ANOVA Length Structure C

AranaCLAnova <- aov(length ~ month, data = arana_C)
anova(AranaCLAnova)
Analysis of Variance Table

Response: length
           Df  Sum Sq Mean Sq F value    Pr(>F)    
month      10  465.57  46.557  9.5155 5.019e-14 ***
Residuals 349 1707.59   4.893                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaCLAnovaSummary <- summary.lm(AranaCLAnova)
AranaCLAnovaSummary$r.squared
[1] 0.2142374
plot(AranaCLAnova)

TukeyHSD(AranaCLAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = length ~ month, data = arana_C)

$`month`
                diff         lwr       upr     p adj
Feb-Jan    0.3747946 -1.23913967 1.9887289 0.9996195
Apr-Jan    0.8567683 -0.78026764 2.4938042 0.8369907
May-Jan    1.1515016 -0.57049639 2.8734996 0.5301705
June-Jan   1.5483859 -0.11408963 3.2108615 0.0937399
July-Jan   2.1570259  0.48083686 3.8332149 0.0018924
Aug-Jan    2.2953651  0.58948105 4.0012491 0.0008644
Sept-Jan   2.8021393  1.09625524 4.5080233 0.0000099
Oct-Jan    3.5291016  1.80710361 5.2510996 0.0000000
Nov-Jan    2.5730540  0.81590080 4.3302072 0.0001595
Dec-Jan    3.2661969  1.50904366 5.0233501 0.0000002
Apr-Feb    0.4819737 -1.18500036 2.1489477 0.9974755
May-Feb    0.7767070 -0.97377663 2.5271907 0.9380571
June-Feb   1.1735913 -0.51837228 2.8655549 0.4727288
July-Feb   1.7822313  0.07679130 3.4876712 0.0319653
Aug-Feb    1.9205705  0.18593617 3.6552048 0.0165111
Sept-Feb   2.4273447  0.69271036 4.1619789 0.0004089
Oct-Feb    3.1543070  1.40382337 4.9047907 0.0000007
Nov-Feb    2.1982594  0.41318147 3.9833373 0.0038354
Dec-Feb    2.8914023  1.10632432 4.6764802 0.0000143
May-Apr    0.2947333 -1.47707246 2.0665391 0.9999823
June-Apr   0.6916176 -1.02239625 2.4056315 0.9671461
July-Apr   1.3002576 -0.42706064 3.0275758 0.3448912
Aug-Apr    1.4385968 -0.31755211 3.1947457 0.2254992
Sept-Apr   1.9453710  0.18922209 3.7015198 0.0164099
Oct-Apr    2.6723333  0.90052754 4.4441391 0.0000825
Nov-Apr    1.7162857 -0.08970598 3.5222774 0.0793267
Dec-Apr    2.4094286  0.60343688 4.2154203 0.0010096
June-May   0.3968843 -1.39845247 2.1922211 0.9997551
July-May   1.0055242 -0.80251855 2.8135670 0.7783783
Aug-May    1.1438634 -0.69174257 2.9794694 0.6356837
Sept-May   1.6506376 -0.18496837 3.4862436 0.1229297
Oct-May    2.3776000  0.52700920 4.2281908 0.0019445
Nov-May    1.4215524 -0.46179478 3.3048995 0.3407938
Dec-May    2.1146952  0.23134808 3.9980424 0.0138763
July-June  0.6086399 -1.14280707 2.3600869 0.9889837
Aug-June   0.7469791 -1.03290775 2.5268660 0.9570237
Sept-June  1.2537533 -0.52613355 3.0336402 0.4483588
Oct-June   1.9807157  0.18537890 3.7760525 0.0172407
Nov-June   1.0246681 -0.80441487 2.8537510 0.7704928
Dec-June   1.7178109 -0.11127201 3.5468939 0.0875777
Aug-July   0.1383392 -1.65436319 1.9310416 1.0000000
Sept-July  0.6451134 -1.14758900 2.4378158 0.9856449
Oct-July   1.3720758 -0.43596703 3.1801185 0.3326894
Nov-July   0.4160281 -1.42552799 2.2575843 0.9997025
Dec-July   1.1091710 -0.73238513 2.9507271 0.6825285
Sept-Aug   0.5067742 -1.31372369 2.3272721 0.9981635
Oct-Aug    1.2337366 -0.60186945 3.0693426 0.5222458
Nov-Aug    0.2776889 -1.59093613 2.1463140 0.9999939
Dec-Aug    0.9708318 -0.89779327 2.8394569 0.8432164
Oct-Sept   0.7269624 -1.10864364 2.5625684 0.9711717
Nov-Sept  -0.2290853 -2.09771032 1.6395398 0.9999990
Dec-Sept   0.4640576 -1.40456746 2.3326827 0.9993121
Nov-Oct   -0.9560476 -2.83939478 0.9272995 0.8617489
Dec-Oct   -0.2629048 -2.14625192 1.6204424 0.9999967
Dec-Nov    0.6931429 -1.22240060 2.6086863 0.9850373

ANOVA Width non depending on initial sizes

AranaRanovaW <- aov(width ~ month, data = aranaR)
anova(AranaRanovaW)
Analysis of Variance Table

Response: width
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10 1889.1 188.906  40.855 < 2.2e-16 ***
Residuals 953 4406.5   4.624                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaRanovaWSummary <- summary.lm(AranaRanovaW)
AranaRanovaWSummary$r.squared
[1] 0.3000626
plot(AranaRanovaW)

TukeyHSD(AranaRanovaW)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = width ~ month, data = aranaR)

$`month`
                 diff          lwr         upr     p adj
Aug-Apr    1.60201584  0.558434664  2.64559701 0.0000461
Dec-Apr    3.01583868  1.919814950  4.11186241 0.0000000
Feb-Apr   -0.65486760 -1.610663722  0.30092852 0.4976747
Jan-Apr   -0.97643780 -1.902190971 -0.05068464 0.0287131
July-Apr   1.62026031  0.607728771  2.63279185 0.0000159
June-Apr   1.00198458 -0.004388394  2.00835755 0.0521644
May-Apr    0.15226679 -0.839709730  1.14424331 0.9999923
Nov-Apr    2.48268137  1.396487650  3.56887510 0.0000000
Oct-Apr    2.93909583  1.866759150  4.01143251 0.0000000
Sept-Apr   2.57758353  1.522241375  3.63292568 0.0000000
Dec-Aug    1.41382284  0.253445216  2.57420047 0.0043272
Feb-Aug   -2.25688344 -3.285841380 -1.22792550 0.0000000
Jan-Aug   -2.57845364 -3.579566596 -1.57734069 0.0000000
July-Aug   0.01824447 -1.063618891  1.10010784 1.0000000
June-Aug  -0.60003126 -1.676132918  0.47607040 0.7807105
May-Aug   -1.44974905 -2.512399336 -0.38709875 0.0006116
Nov-Aug    0.88066554 -0.270431778  2.03176285 0.3245410
Oct-Aug    1.33707999  0.199049160  2.47511083 0.0073942
Sept-Aug   0.97556769 -0.146464074  2.09759946 0.1574410
Feb-Dec   -3.67070628 -4.752815703 -2.58859686 0.0000000
Jan-Dec   -3.99227648 -5.047943810 -2.93660916 0.0000000
July-Dec  -1.39557837 -2.528113002 -0.26304374 0.0036316
June-Dec  -2.01385410 -3.140886105 -0.88682210 0.0000006
May-Dec   -2.86357189 -3.977767561 -1.74937622 0.0000000
Nov-Dec   -0.53315731 -1.732003161  0.66568854 0.9394425
Oct-Dec   -0.07674285 -1.263048263  1.10956256 1.0000000
Sept-Dec  -0.43825515 -1.609221264  0.73271096 0.9816696
Jan-Feb   -0.32157020 -1.230807083  0.58766668 0.9880126
July-Feb   2.27512791  1.277674707  3.27258112 0.0000000
June-Feb   1.65685218  0.665651222  2.64805314 0.0000047
May-Feb    0.80713439 -0.169446477  1.78371527 0.2167486
Nov-Feb    3.13754897  2.065397128  4.20970082 0.0000000
Oct-Feb    3.59396343  2.535852505  4.65207436 0.0000000
Sept-Feb   3.23245113  2.191566968  4.27333529 0.0000000
July-Jan   2.59669811  1.627995063  3.56540117 0.0000000
June-Jan   1.97842238  1.016158363  2.94068640 0.0000000
May-Jan    1.12870460  0.181507202  2.07590199 0.0060347
Nov-Jan    3.45911918  2.413661245  4.50457711 0.0000000
Oct-Jan    3.91553363  2.884480076  4.94658719 0.0000000
Sept-Jan   3.55402133  2.540654398  4.56738827 0.0000000
June-July -0.61827573 -1.664293532  0.42774207 0.7126570
May-July  -1.46799352 -2.500167969 -0.43581907 0.0002633
Nov-July   0.86242106 -0.260603194  1.98544532 0.3189154
Oct-July   1.31883552  0.209208270  2.42846277 0.0062669
Sept-July  0.95732322 -0.135889359  2.05053580 0.1499378
May-June  -0.84971779 -1.875851567  0.17641599 0.2143199
Nov-June   1.48069679  0.363221998  2.59817159 0.0010599
Oct-June   1.93711125  0.833100803  3.04112170 0.0000011
Sept-June  1.57559895  0.488087950  2.66310995 0.0001768
Nov-May    2.33041458  1.225887180  3.43494198 0.0000000
Oct-May    2.78682904  1.695925774  3.87773230 0.0000000
Sept-May   2.42531674  1.351114225  3.49951925 0.0000000
Oct-Nov    0.45641446 -0.720815051  1.63364397 0.9762974
Sept-Nov   0.09490216 -1.066868226  1.25667254 1.0000000
Sept-Oct  -0.36151230 -1.510337602  0.78731300 0.9952167

ANOVA Width Structure A

AranaAWAnova <- aov(width ~ month, data = arana_A)
anova(AranaAWAnova)
Analysis of Variance Table

Response: width
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10 390.98  39.098  28.641 < 2.2e-16 ***
Residuals 261 356.29   1.365                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaAWAnovaSummary <- summary.lm(AranaAWAnova)
AranaAWAnovaSummary$r.squared
[1] 0.5232074
plot(AranaAWAnova)

TukeyHSD(AranaAWAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = width ~ month, data = arana_A)

$`month`
                 diff         lwr       upr     p adj
Feb-Jan    0.04465152 -0.83799390 0.9272969 1.0000000
Apr-Jan    0.57195977 -0.34414001 1.4880596 0.6298444
May-Jan    0.83678736 -0.07931243 1.7528871 0.1088221
June-Jan   1.39839744  0.45154917 2.3452457 0.0001421
July-Jan   2.03896667  1.08049340 2.9974399 0.0000000
Aug-Jan    2.18234848  1.18374920 3.1809478 0.0000000
Sept-Jan   2.79648246  1.74742150 3.8455434 0.0000000
Oct-Jan    3.23279167  2.11806957 4.3475138 0.0000000
Nov-Jan    3.09810417  1.98338207 4.2128263 0.0000000
Dec-Jan    3.37243333  2.23112128 4.5137454 0.0000000
Apr-Feb    0.52730825 -0.43846934 1.4930859 0.7948653
May-Feb    0.79213584 -0.17364176 1.7579134 0.2225042
June-Feb   1.35374592  0.35875387 2.3487380 0.0007360
July-Feb   1.99431515  0.98825425 3.0003761 0.0000000
Aug-Feb    2.13769697  1.09333684 3.1820571 0.0000000
Sept-Feb   2.75183094  1.65912035 3.8445415 0.0000000
Oct-Feb    3.18814015  2.03224530 4.3440350 0.0000000
Nov-Feb    3.05345265  1.89755780 4.2093475 0.0000000
Dec-Feb    3.32778182  2.14622321 4.5093404 0.0000000
May-Apr    0.26482759 -0.73161722 1.2612724 0.9987215
June-Apr   0.82643767 -0.19834772 1.8512231 0.2444574
July-Apr   1.46700690  0.43147107 2.5025427 0.0003382
Aug-Apr    1.61038871  0.53760543 2.6831720 0.0000994
Sept-Apr   2.22452269  1.10461540 3.3444300 0.0000000
Oct-Apr    2.66083190  1.47919371 3.8424701 0.0000000
Nov-Apr    2.52614440  1.34450621 3.7077826 0.0000000
Dec-Apr    2.80047356  1.59371897 4.0072282 0.0000000
June-May   0.56161008 -0.46317530 1.5863955 0.7910793
July-May   1.20217931  0.16664349 2.2377151 0.0091047
Aug-May    1.34556113  0.27277784 2.4183444 0.0029562
Sept-May   1.95969510  0.83978781 3.0796024 0.0000019
Oct-May    2.39600431  1.21436612 3.5776425 0.0000000
Nov-May    2.26131681  1.07967862 3.4429550 0.0000001
Dec-May    2.53564598  1.32889138 3.7424006 0.0000000
July-June  0.64056923 -0.42226531 1.7034038 0.6785822
Aug-June   0.78395105 -0.31520627 1.8831084 0.4259989
Sept-June  1.39808502  0.25288846 2.5432816 0.0044714
Oct-June   1.83439423  0.62876094 3.0400275 0.0000733
Nov-June   1.69970673  0.49407344 2.9053400 0.0003725
Dec-June   1.97403590  0.74377598 3.2042958 0.0000204
Aug-July   0.14338182 -0.96580535 1.2525690 0.9999983
Sept-July  0.75751579 -0.39731083 1.9123424 0.5567459
Oct-July   1.19382500 -0.02095934 2.4086093 0.0588642
Nov-July   1.05913750 -0.15564684 2.2739218 0.1521496
Dec-July   1.33346667  0.09423754 2.5726958 0.0232568
Sept-Aug   0.61413397 -0.57420691 1.8024749 0.8453500
Oct-Aug    1.05044318 -0.19624464 2.2971310 0.1896930
Nov-Aug    0.91575568 -0.33093214 2.1624435 0.3800552
Dec-Aug    1.19008485 -0.08043409 2.4606038 0.0892107
Oct-Sept   0.43630921 -0.85115297 1.7237714 0.9906729
Nov-Sept   0.30162171 -0.98584047 1.5890839 0.9995743
Dec-Sept   0.57595088 -0.73460119 1.8865029 0.9405909
Nov-Oct   -0.13468750 -1.47619238 1.2068174 0.9999999
Dec-Oct    0.13964167 -1.22403835 1.5033217 0.9999998
Dec-Nov    0.27432917 -1.08935085 1.6380092 0.9998922

ANOVA Width Structure B

AranaBWAnova <- aov(width ~ month, data = arana_B)
anova(AranaBWAnova)
Analysis of Variance Table

Response: width
           Df Sum Sq Mean Sq F value    Pr(>F)    
month      10 839.02  83.902  39.564 < 2.2e-16 ***
Residuals 321 680.74   2.121                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaBWAnovaSummary <- summary.lm(AranaBWAnova)
AranaBWAnovaSummary$r.squared
[1] 0.5520746
plot(AranaBWAnova)

TukeyHSD(AranaBWAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = width ~ month, data = arana_B)

$`month`
                diff         lwr       upr     p adj
Feb-Jan    0.3258246 -0.73122861 1.3828777 0.9956935
Apr-Jan    0.9737883 -0.09073783 2.0383144 0.1079307
May-Jan    1.1358238  0.05524865 2.2163990 0.0300506
June-Jan   2.0416149  0.90169641 3.1815335 0.0000008
July-Jan   2.9482011  1.80828262 4.0881197 0.0000000
Aug-Jan    2.6836867  1.49104210 3.8763312 0.0000000
Sept-Jan   4.2780067  3.08536210 5.4706512 0.0000000
Oct-Jan    4.0514867  2.85884210 5.2441312 0.0000000
Nov-Jan    3.7780417  2.56992191 4.9861614 0.0000000
Dec-Jan    4.6024710  3.37775218 5.8271899 0.0000000
Apr-Feb    0.6479637 -0.44248752 1.7384150 0.6994252
May-Feb    0.8099992 -0.29612495 1.9161234 0.3866686
June-Feb   1.7157904  0.55162445 2.8799563 0.0001411
July-Feb   2.6223766  1.45821065 3.7865425 0.0000000
Aug-Feb    2.3578621  1.14202119 3.5737030 0.0000001
Sept-Feb   3.9521821  2.73634119 5.1680230 0.0000000
Oct-Feb    3.7256621  2.50982119 4.9415030 0.0000000
Nov-Feb    3.4522171  2.22119257 4.6832416 0.0000000
Dec-Feb    4.2766465  3.02932761 5.5239653 0.0000000
May-Apr    0.1620355 -0.95123228 1.2753033 0.9999950
June-Apr   1.0678267 -0.10312884 2.2387822 0.1105306
July-Apr   1.9744129  0.80345736 3.1453684 0.0000050
Aug-Apr    1.7098984  0.48755490 2.9322419 0.0004174
Sept-Apr   3.3042184  2.08187490 4.5265619 0.0000000
Oct-Apr    3.0776984  1.85535490 4.3000419 0.0000000
Nov-Apr    2.8042534  1.56680606 4.0417007 0.0000000
Dec-Apr    3.6286827  2.37502458 4.8823409 0.0000000
June-May   0.9057911 -0.27977354 2.0913558 0.3220544
July-May   1.8123773  0.62681267 2.9979420 0.0000617
Aug-May    1.5478629  0.31151727 2.7842084 0.0029846
Sept-May   3.1421829  1.90583727 4.3785284 0.0000000
Oct-May    2.9156629  1.67931727 4.1520084 0.0000000
Nov-May    2.6422179  1.39093745 3.8934983 0.0000000
Dec-May    3.4666472  2.19933289 4.7339615 0.0000000
July-June  0.9065862 -0.33330700 2.1464794 0.3890183
Aug-June   0.6420717 -0.64646310 1.9306065 0.8748217
Sept-June  2.2363917  0.94785690 3.5249265 0.0000022
Oct-June   2.0098717  0.72133690 3.2984065 0.0000382
Nov-June   1.7364267  0.43355518 3.0392983 0.0010391
Dec-June   2.5608561  1.24257797 3.8791342 0.0000001
Aug-July  -0.2645145 -1.55304930 1.0240203 0.9998737
Sept-July  1.3298055  0.04127070 2.6183403 0.0364918
Oct-July   1.1032855 -0.18524930 2.3918203 0.1721694
Nov-July   0.8298405 -0.47303102 2.1327121 0.6032091
Dec-July   1.6542699  0.33599176 2.9725480 0.0028769
Sept-Aug   1.5943200  0.25891414 2.9297259 0.0061048
Oct-Aug    1.3678000  0.03239414 2.7032059 0.0394387
Nov-Aug    1.0943550 -0.25488963 2.4435996 0.2380156
Dec-Aug    1.9187843  0.55465680 3.2829119 0.0003742
Oct-Sept  -0.2265200 -1.56192586 1.1088859 0.9999785
Nov-Sept  -0.4999650 -1.84920963 0.8492796 0.9820352
Dec-Sept   0.3244643 -1.03966320 1.6885919 0.9995252
Nov-Oct   -0.2734450 -1.62268963 1.0757996 0.9998877
Dec-Oct    0.5509843 -0.81314320 1.9151119 0.9667248
Dec-Nov    0.8244293 -0.55324849 2.2021072 0.6902662

ANOVA Width Structure C

AranaCWAnova <- aov(width ~ month, data = arana_C)
anova(AranaCWAnova)
Analysis of Variance Table

Response: width
           Df  Sum Sq Mean Sq F value    Pr(>F)    
month      10  433.51  43.351  9.6923 2.653e-14 ***
Residuals 349 1560.96   4.473                      
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
AranaCWAnovaSummary <- summary.lm(AranaCWAnova)
AranaCWAnovaSummary$r.squared
[1] 0.2173543
plot(AranaCWAnova)

TukeyHSD(AranaCWAnova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = width ~ month, data = arana_C)

$`month`
                 diff         lwr      upr     p adj
Feb-Jan    0.31568806 -1.22739779 1.858774 0.9998787
Apr-Jan    0.97011789 -0.59505550 2.535291 0.6432834
May-Jan    1.33238455 -0.31402125 2.978790 0.2413718
June-Jan   1.94818651  0.35869024 3.537683 0.0041219
July-Jan   2.28283001  0.68022229 3.885438 0.0002856
Aug-Jan    2.26453186  0.63353269 3.895531 0.0004771
Sept-Jan   2.77601574  1.14501656 4.407015 0.0000037
Oct-Jan    3.38945122  1.74304542 5.035857 0.0000000
Nov-Jan    2.67655836  0.99654061 4.356576 0.0000220
Dec-Jan    3.04830836  1.36829061 4.728326 0.0000005
Apr-Feb    0.65442982 -0.93936745 2.248227 0.9629454
May-Feb    1.01669649 -0.65694448 2.690337 0.6710560
June-Feb   1.63249845  0.01480860 3.250188 0.0457530
July-Feb   1.96714195  0.33656734 3.597717 0.0052214
Aug-Feb    1.94884380  0.29035643 3.607331 0.0076046
Sept-Feb   2.46032767  0.80184030 4.118815 0.0001199
Oct-Feb    3.07376316  1.40012218 4.747404 0.0000004
Nov-Feb    2.36087030  0.65415366 4.067587 0.0005129
Dec-Feb    2.73262030  1.02590366 4.439337 0.0000194
May-Apr    0.36226667 -1.33176046 2.056294 0.9998185
June-Apr   0.97806863 -0.66070354 2.616841 0.6945269
July-Apr   1.31271212 -0.33878034 2.964205 0.2656983
Aug-Apr    1.29441398 -0.38464354 2.973471 0.3093238
Sept-Apr   1.80589785  0.12684033 3.484955 0.0232531
Oct-Apr    2.41933333  0.72530621 4.113360 0.0002707
Nov-Apr    1.70644048 -0.02027185 3.433153 0.0559354
Dec-Apr    2.07819048  0.35147815 3.804903 0.0054060
June-May   0.61580196 -1.10072319 2.332327 0.9859730
July-May   0.95044545 -0.77822794 2.679119 0.7903882
Aug-May    0.93214731 -0.82287933 2.687174 0.8239371
Sept-May   1.44363118 -0.31139546 3.198658 0.2202276
Oct-May    2.05706667  0.28771304 3.826420 0.0088036
Nov-May    1.34417381 -0.45649824 3.144846 0.3576487
Dec-May    1.71592381 -0.08474824 3.516596 0.0774950
July-June  0.33464349 -1.33991855 2.009206 0.9999022
Aug-June   0.31634535 -1.38540811 2.018099 0.9999498
Sept-June  0.82782922 -0.87392424 2.529583 0.8913634
Oct-June   1.44126471 -0.27526044 3.157790 0.1949635
Nov-June   0.72837185 -1.02041807 2.477162 0.9591721
Dec-June   1.10012185 -0.64866807 2.848912 0.6221245
Aug-July  -0.01829814 -1.73230454 1.695708 1.0000000
Sept-July  0.49318573 -1.22082067 2.207192 0.9975751
Oct-July   1.10662121 -0.62205218 2.835295 0.5965559
Nov-July   0.39372835 -1.36698720 2.154444 0.9997285
Dec-July   0.76547835 -0.99523720 2.526194 0.9457030
Sept-Aug   0.51148387 -1.22909786 2.252066 0.9971115
Oct-Aug    1.12491935 -0.63010728 2.879946 0.5946703
Nov-Aug    0.41202650 -1.37456973 2.198623 0.9996422
Dec-Aug    0.78377650 -1.00281973 2.570373 0.9424228
Oct-Sept   0.61343548 -1.14159115 2.368462 0.9884837
Nov-Sept  -0.09945737 -1.88605360 1.687139 1.0000000
Dec-Sept   0.27229263 -1.51430360 2.058889 0.9999923
Nov-Oct   -0.71289286 -2.51356491 1.087779 0.9712384
Dec-Oct   -0.34114286 -2.14181491 1.459529 0.9999402
Dec-Nov    0.37175000 -1.45970500 2.203205 0.9998871

TWO-WAY ANOVA

Import data set

aranaR <- read_excel("aranaR.xlsx", sheet = "Growth", 
                     col_types = c("text", "text", "numeric", 
                                   "numeric", "numeric"), na = "#N/A")

Growth difference between initial sizes

TWanova <- aov(diff_jan_dec~measure*structure, data = aranaR)
anova(TWanova)
Analysis of Variance Table

Response: diff_jan_dec
                   Df Sum Sq Mean Sq  F value    Pr(>F)    
measure             2  42069 21034.7 133.7547 < 2.2e-16 ***
structure           2   2273  1136.7   7.2277 0.0009485 ***
measure:structure   4   3458   864.5   5.4971 0.0003325 ***
Residuals         186  29251   157.3                       
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
TukeyHSD(TWanova)
  Tukey multiple comparisons of means
    95% family-wise confidence level

Fit: aov(formula = diff_jan_dec ~ measure * structure, data = aranaR)

$`measure`
                    diff        lwr        upr     p adj
length-area  -30.8460308 -36.043212 -25.648850 0.0000000
width-area   -31.4612769 -36.658458 -26.264096 0.0000000
width-length  -0.6152462  -5.812427   4.581935 0.9578048

$structure
         diff       lwr        upr     p adj
B-A  8.882749  3.205588 14.5599091 0.0008358
C-A  3.756704 -1.751957  9.2653646 0.2434292
C-B -5.126045 -9.979915 -0.2721754 0.0357438

$`measure:structure`
                         diff         lwr         upr     p adj
length:A-area:A   -16.3259333 -30.6984336  -1.9534331 0.0133985
width:A-area:A    -17.3260000 -31.6985003  -2.9534997 0.0063427
area:B-area:A      24.8116116  11.7485430  37.8746802 0.0000004
length:B-area:A   -15.6382580 -28.7013266  -2.5751894 0.0069563
width:B-area:A    -16.1770406 -29.2401092  -3.1139720 0.0043833
area:C-area:A      13.1827259   0.5073721  25.8580797 0.0346414
length:C-area:A   -17.5489778 -30.2243316  -4.8736240 0.0007558
width:C-area:A    -18.0155704 -30.6909242  -5.3402166 0.0004720
width:A-length:A   -1.0000667 -15.3725669  13.3724336 0.9999998
area:B-length:A    41.1375449  28.0744763  54.2006135 0.0000000
length:B-length:A   0.6876754 -12.3753932  13.7507440 1.0000000
width:B-length:A    0.1488928 -12.9141759  13.2119614 1.0000000
area:C-length:A    29.5086593  16.8333054  42.1840131 0.0000000
length:C-length:A  -1.2230444 -13.8983983  11.4523094 0.9999979
width:C-length:A   -1.6896370 -14.3649908  10.9857168 0.9999734
area:B-width:A     42.1376116  29.0745430  55.2006802 0.0000000
length:B-width:A    1.6877420 -11.3753266  14.7508106 0.9999791
width:B-width:A     1.1489594 -11.9141092  14.2120280 0.9999990
area:C-width:A     30.5087259  17.8333721  43.1840797 0.0000000
length:C-width:A   -0.2229778 -12.8983316  12.4523760 1.0000000
width:C-width:A    -0.6895704 -13.3649242  11.9857834 1.0000000
length:B-area:B   -40.4498696 -52.0567106 -28.8430285 0.0000000
width:B-area:B    -40.9886522 -52.5954932 -29.3818111 0.0000000
area:C-area:B     -11.6288857 -22.7975737  -0.4601977 0.0342606
length:C-area:B   -42.3605894 -53.5292774 -31.1919014 0.0000000
width:C-area:B    -42.8271820 -53.9958700 -31.6584940 0.0000000
width:B-length:B   -0.5387826 -12.1456237  11.0680584 1.0000000
area:C-length:B    28.8209839  17.6522959  39.9896719 0.0000000
length:C-length:B  -1.9107198 -13.0794078   9.2579682 0.9998220
width:C-length:B   -2.3773124 -13.5460004   8.7913756 0.9991027
area:C-width:B     29.3597665  18.1910785  40.5284545 0.0000000
length:C-width:B   -1.3719372 -12.5406252   9.7967508 0.9999859
width:C-width:B    -1.8385298 -13.0072178   9.3301582 0.9998668
length:C-area:C   -30.7317037 -41.4443329 -20.0190745 0.0000000
width:C-area:C    -31.1982963 -41.9109255 -20.4856671 0.0000000
width:C-length:C   -0.4665926 -11.1792218  10.2460366 1.0000000

Comparison growth diff between upwelling and non upwelling season depending on initial class sizes

Import data set

aranaR2 <- read_excel("aranaR.xlsx", sheet = "Growth", 
                     col_types = c("text", "text", "numeric", 
                                   "numeric", "numeric"), na = "#N/A")
View(aranaR2)

t-test

Length Structure A
Structure_A <- aranaR2 %>%
  filter(structure == "A",
         measure == "length")
t.test(Structure_A$diff_jan_apr, Structure_A$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_A$diff_jan_apr and Structure_A$diff_may_dec
t = -4.2388, df = 13, p-value = 0.0009671
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -3.081543 -1.000885
sample estimates:
mean of the differences 
              -2.041214 
Length Structure B
Structure_B <- aranaR2 %>%
  filter(structure == "B",
         measure == "length")
t.test(Structure_B$diff_jan_apr, Structure_B$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_B$diff_jan_apr and Structure_B$diff_may_dec
t = -5.395, df = 21, p-value = 2.373e-05
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -4.075165 -1.807562
sample estimates:
mean of the differences 
              -2.941364 
Length Structure C
Structure_C <- aranaR %>%
  filter(structure == "C",
         measure == "length")
t.test(Structure_C$diff_jan_apr, Structure_C$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_C$diff_jan_apr and Structure_C$diff_may_dec
t = -1.9759, df = 21, p-value = 0.06145
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -3.03019361  0.07746634
sample estimates:
mean of the differences 
              -1.476364 

Width Structure A

Structure_Aw <- aranaR %>%
  filter(structure == "A",
         measure == "width")
t.test(Structure_Aw$diff_jan_apr, Structure_Aw$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Aw$diff_jan_apr and Structure_Aw$diff_may_dec
t = -4.0592, df = 13, p-value = 0.001353
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.9083695 -0.8879162
sample estimates:
mean of the differences 
              -1.898143 
Width Structure B
Structure_Bw <- aranaR %>%
  filter(structure == "B",
         measure == "width")
t.test(Structure_Bw$diff_jan_apr, Structure_Bw$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Bw$diff_jan_apr and Structure_Bw$diff_may_dec
t = -5.8488, df = 21, p-value = 8.334e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -3.626555 -1.724081
sample estimates:
mean of the differences 
              -2.675318 
Width Structure C
Structure_Cw <- aranaR %>%
  filter(structure == "C",
         measure == "width")
t.test(Structure_Cw$diff_jan_apr, Structure_Cw$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Cw$diff_jan_apr and Structure_Cw$diff_may_dec
t = -2.0397, df = 21, p-value = 0.05415
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.73850602  0.02650602
sample estimates:
mean of the differences 
                 -1.356 
Area Structure A
Structure_AAr <- aranaR %>%
  filter(structure == "A",
         measure == "area")
t.test(Structure_AAr$diff_jan_apr, Structure_AAr$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_AAr$diff_jan_apr and Structure_AAr$diff_may_dec
t = -4.8303, df = 13, p-value = 0.0003285
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -22.741488  -8.685655
sample estimates:
mean of the differences 
              -15.71357 
Area Structure B
Structure_BAr <- aranaR %>%
  filter(structure == "B",
         measure == "area")
t.test(Structure_BAr$diff_jan_apr, Structure_BAr$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_BAr$diff_jan_apr and Structure_BAr$diff_may_dec
t = -6.1659, df = 21, p-value = 4.066e-06
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -42.06664 -20.84736
sample estimates:
mean of the differences 
                -31.457 
Area Structure C
Structure_CAr <- aranaR %>%
  filter(structure == "C",
         measure == "area")
t.test(Structure_CAr$diff_jan_apr, Structure_CAr$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_CAr$diff_jan_apr and Structure_CAr$diff_may_dec
t = -2.6829, df = 21, p-value = 0.01393
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -24.905274  -3.154817
sample estimates:
mean of the differences 
              -14.03005 

Comparison growth diff between upwelling and non upwelling season non depending on initial class sizes

Length
Structure_Length <- aranaR2 %>%
  filter(measure == "length")
t.test(Structure_Length$diff_jan_apr, Structure_Length$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Length$diff_jan_apr and Structure_Length$diff_may_dec
t = -5.8046, df = 57, p-value = 2.999e-07
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.916448 -1.420345
sample estimates:
mean of the differences 
              -2.168397 
Width
Structure_Width <- aranaR2 %>%
  filter(measure == "width")
t.test(Structure_Width$diff_jan_apr, Structure_Width$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Width$diff_jan_apr and Structure_Width$diff_may_dec
t = -6.0229, df = 57, p-value = 1.319e-07
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -2.648022 -1.326564
sample estimates:
mean of the differences 
              -1.987293 
Area
Structure_Area <- aranaR2 %>%
  filter(measure == "area")
t.test(Structure_Area$diff_jan_apr, Structure_Area$diff_may_dec, paired= TRUE)

    Paired t-test

data:  Structure_Area$diff_jan_apr and Structure_Area$diff_may_dec
t = -6.9348, df = 57, p-value = 4.086e-09
alternative hypothesis: true difference in means is not equal to 0
95 percent confidence interval:
 -27.12397 -14.96931
sample estimates:
mean of the differences 
              -21.04664 

Temperature

Mean temperature over the year
TempMean <- temp_2020 %>%
  summarise(Mean = mean(Temp, na.rm = T),
            Standard_deviation = sd(Temp, na.rm = T),
            nb_obs = n(),
            std_error = Standard_deviation / sqrt(nb_obs))
TempMean
Mean temperature depending on the upwelling season (1) and non-upwelling season (0)
temp.upw <- ddply(temp_2020, .(Upwelling), summarize,
                  prom = mean(Temp),
                  sd = sd(Temp),
                  min = min(Temp), max = max(Temp))
temp.upw
Mean temperature for each month
TempMonth <- temp_2020 %>%
  group_by(Month)%>%
  summarise(Mean = mean(Temp, na.rm = T),
            Standard_deviation = sd(Temp, na.rm = T),
            nb_obs = n(),
            std_error = Standard_deviation / sqrt(nb_obs))
TempMonth
Mean temperature plot
temp_2020$Month <- factor(temp_2020$Month, levels = c("enero", "febrero", "marzo", "abril", "mayo", "junio", "julio", "agosto","septiembre", "octubre", "noviembre", "diciembre"))
ggTemp <- ggplot(data = TempMonth, aes(x= factor(Month), y= Mean, group = 1)) +
  geom_ribbon(aes(ymin = Mean - Standard_deviation, ymax = Mean + Standard_deviation), fill = "grey70") +
  geom_line(aes(y = Mean))+
  geom_hline(yintercept = 27.423, col = "red")+
  geom_vline(xintercept = which(TempMonth$Month == 'mayo'), linetype= "dashed", col = "grey18", size = 0.5)+
  geom_vline(xintercept = which(TempMonth$Month == 'enero'), linetype= "dashed", col = "grey18", size = 0.5)+
  labs( x = "Month",
        y = "Temperature (°C)")+
  scale_x_discrete(labels = c("enero"="J", "febrero"="F", "marzo" = "M", "abril"="A", "mayo"="M", "junio"="J", "julio"="J","agosto"="A","septiembre"="S","octubre"="O","noviembre"="N","diciembre"="D"))+
  theme_classic()+
  theme(axis.text=element_text(size=9),
        axis.title=element_text(size=10,face="bold"))
ggTemp

Growth plots

Change month order
arana_A$month <- factor(arana_A$month, levels = c("Jan", "Feb", "Apr", "May", "June", "July", "Aug","Sept", "Oct", "Nov", "Dec"))
arana_B$month <- factor(arana_B$month, levels = c("Jan", "Feb", "Apr", "May", "June", "July", "Aug","Sept", "Oct", "Nov", "Dec"))
arana_C$month <- factor(arana_C$month, levels = c("Jan", "Feb", "Apr", "May", "June", "July", "Aug","Sept", "Oct", "Nov", "Dec"))

Boxplots Structure A

ggA1 <-ggplot(arana_A, aes(x = (month), y = length))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
    y= "Length (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggA2 <-ggplot(arana_A, aes(x = (month), y = width))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Width (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggA3 <- ggplot(arana_A, aes(x = (month), y = area))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Area (cm²)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

Boxplots Structure B

ggB1 <-ggplot(arana_B, aes(x = (month), y = length))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Length (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggB2 <-ggplot(arana_B, aes(x = (month), y = width))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Width (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggB3 <- ggplot(arana_B, aes(x = (month), y = area))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Area (cm²)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

Boxplots Structure C

ggC1 <- ggplot(arana_C, aes(x = (month), y = length))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Length (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggC2 <-ggplot(arana_C, aes(x = (month), y = width))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Width (cm)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

ggC3 <- ggplot(arana_C, aes(x = (month), y = area))+
  geom_boxplot(notch = T)+
  labs(x= "Month",
       y= "Area (cm²)")+
  scale_x_discrete(labels = c("Jan"="J", "Feb"="F", "Apr"="A", "May"="M", "June"="J", "July"="J","Aug"="A","Sept"="S","Oct"="O","Nov"="N","Dec"="D"))+
  theme_classic()

Combined graphs

plot_grid(ggA1, ggB1, ggC1, labels=c("A","B","C"), ncol = 2, nrow =2)

plot_grid(ggA2, ggB2, ggC2,labels=c("A","B","C"), ncol = 2, nrow =2)

plot_grid(ggA3, ggB3, ggC3,labels=c("A","B","C"), ncol = 2, nrow =2)

LS0tDQp0aXRsZTogJypQb2NpbGxvcG9yYSogc3BwLiBncm93dGggYW5hbHlzaXMgb24gcmVzdG9yYXRpb24gc3RydWN0dXJlcyBpbiBhbiB1cHdlbGxpbmcNCiAgYXJlYSBpbiB0aGUgRWFzdGVybiBUcm9waWNhbCBQYWNpZmljJw0Kb3V0cHV0Og0KICBodG1sX25vdGVib29rOiBkZWZhdWx0DQogIHBkZl9kb2N1bWVudDogZGVmYXVsdA0KLS0tDQojI1BhY2thZ2VzDQpgYGB7ciwgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KbGlicmFyeShzdGF0cykNCmxpYnJhcnkodGlkeXIpDQpsaWJyYXJ5KGRwbHlyKQ0KbGlicmFyeShnZ3Bsb3QyKQ0KbGlicmFyeShyZWFkeGwpDQpsaWJyYXJ5KGZvcmNhdHMpDQpsaWJyYXJ5KGNvd3Bsb3QpDQpsaWJyYXJ5KGRldnRvb2xzKQ0KbGlicmFyeShSQ29sb3JCcmV3ZXIpDQpgYGANCg0KIyNNb3J0YWxpdHkNCiMjI1BlYXJzb24ncyBDaGktc3F1YXJlZCB0ZXN0DQoNCiMjIyNUZXN0IGphbnVhcnkgdG8gYXByaWwNCmBgYHtyLCBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQoNCm1vcnRhbGl0eV9qYW5fYXByIDwtIG1hdHJpeChjKDMwLCA3LCAzNywgMywgMzYsIDMpLCBieXJvdyA9IFQsIG5yb3cgPSAzKQ0Kcm93bmFtZXMobW9ydGFsaXR5X2phbl9hcHIpPC0gYygiQSIsICJCIiwgIkMiKQ0KY29sbmFtZXMobW9ydGFsaXR5X2phbl9hcHIpPC0gYygiYWxpdmUiLCAiZGVhZCIpDQptb3J0YWxpdHlfamFuX2Fwcg0KbW9kZWwxPC0gY2hpc3EudGVzdChtb3J0YWxpdHlfamFuX2FwcikNCm1vZGVsMQ0KbW9kZWwxJGV4cGVjdGVkDQoNCmBgYA0KDQojIyMjVGVzdCBtYXkgdG8gZGVjZW1iZXINCmBgYHtyLCBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQoNCm1vcnRhbGl0eV9tYXlfZGVjIDwtIG1hdHJpeChjKDE1LCA1LCAyMywgNSwgMjgsIDUpLCBieXJvdyA9IFQsIG5yb3cgPSAzKQ0Kcm93bmFtZXMobW9ydGFsaXR5X21heV9kZWMpPC0gYygiQSIsICJCIiwgIkMiKQ0KY29sbmFtZXMobW9ydGFsaXR5X21heV9kZWMpPC0gYygiYWxpdmUiLCAiZGVhZCIpDQptb3J0YWxpdHlfbWF5X2RlYw0KbW9kZWwyPC0gY2hpc3EudGVzdChtb3J0YWxpdHlfbWF5X2RlYykNCm1vZGVsMg0KbW9kZWwyJGV4cGVjdGVkDQpgYGANCg0KDQojI0NvcmFsIGdyb3d0aA0KDQojIyMjSW1wb3J0IGRhdGEgc2V0DQpgYGB7ciwgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KYXJhbmFSIDwtIHJlYWRfZXhjZWwoImFyYW5hUi54bHN4IiwgY29sX3R5cGVzID0gYygidGV4dCIsICJudW1lcmljIiwgInRleHQiLCAibnVtZXJpYyIsICJudW1lcmljIiwgIm51bWVyaWMiKSwgbmEgPSAiI04vQSIpDQpgYGANCg0KDQojIyMjI0ZpbHRlciBzdHJ1Y3R1cmVzIEEsIEIgJiBDDQoNCmBgYHtyLCBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQphcmFuYV9BIDwtIGFyYW5hUiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQSIpDQoNCmFyYW5hX0IgPC0gYXJhbmFSICU+JQ0KICBmaWx0ZXIoc3RydWN0dXJlID09ICJCIikNCg0KYXJhbmFfQyA8LSBhcmFuYVIgJT4lDQogIGZpbHRlcihzdHJ1Y3R1cmUgPT0gIkMiKQ0KYGBgDQoNCiMjI0FOT1ZBIEFyZWEgbm9uIGRlcGVuZGluZyBvbiBpbml0aWFsIHNpemVzDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFSYW5vdmFBIDwtIGFvdihhcmVhIH4gbW9udGgsIGRhdGEgPSBhcmFuYVIpDQphbm92YShBcmFuYVJhbm92YUEpDQpgYGANCmBgYHtyfQ0KQXJhbmFSQW5vdmFBU3VtbWFyeSA8LSBzdW1tYXJ5LmxtKEFyYW5hUmFub3ZhQSkNCkFyYW5hUkFub3ZhQVN1bW1hcnkkci5zcXVhcmVkDQpgYGANCmBgYHtyfQ0KcGxvdChBcmFuYVJhbm92YUEpDQpgYGANCg0KDQojIyNBTk9WQSBBcmVhIFN0cnVjdHVyZSBBIA0KYGBge3IgbWVzc2FnZT1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFBQW5vdmEgPC0gYW92KGFyZWEgfiBtb250aCwgZGF0YSA9IGFyYW5hX0EpDQphbm92YShBcmFuYUFBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCkFyYW5hQUFub3ZhU3VtbWFyeSA8LSBzdW1tYXJ5LmxtKEFyYW5hQUFub3ZhKQ0KQXJhbmFBQW5vdmFTdW1tYXJ5JHIuc3F1YXJlZA0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KcGxvdChBcmFuYUFBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NClR1a2V5SFNEKEFyYW5hQUFub3ZhKQ0KYGBgDQoNCg0KIyMjQW5vdmEgQXJlYSBTdHJ1Y3R1cmUgQiANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUJBbm92YSA8LSBhb3YoYXJlYSB+IG1vbnRoLCBkYXRhID0gYXJhbmFfQikNCmFub3ZhKEFyYW5hQkFub3ZhKQ0KDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUJBbm92YVN1bW1hcnkgPC0gc3VtbWFyeS5sbShBcmFuYUJBbm92YSkNCkFyYW5hQkFub3ZhU3VtbWFyeSRyLnNxdWFyZWQNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCnBsb3QoQXJhbmFCQW5vdmEpDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpUdWtleUhTRChBcmFuYUJBbm92YSkNCmBgYA0KDQoNCiMjI0Fub3ZhIEFyZWEgU3RydWN0dXJlIEMgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFDQW5vdmEgPC0gYW92KGFyZWEgfiBtb250aCwgZGF0YSA9IGFyYW5hX0MpDQphbm92YShBcmFuYUNBbm92YSkNCg0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFDQW5vdmFTdW1tYXJ5IDwtIHN1bW1hcnkubG0oQXJhbmFDQW5vdmEpDQpBcmFuYUNBbm92YVN1bW1hcnkkci5zcXVhcmVkDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpwbG90KEFyYW5hQ0Fub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KVHVrZXlIU0QoQXJhbmFDQW5vdmEpDQpgYGANCg0KIyMjQU5PVkEgTGVuZ3RoIG5vbiBkZXBlbmRpbmcgb24gaW5pdGlhbCBzaXplcw0KYGBge3J9DQpBcmFuYVJhbm92YUwgPC0gYW92KGxlbmd0aCB+IG1vbnRoLCBkYXRhID0gYXJhbmFSKQ0KYW5vdmEoQXJhbmFSYW5vdmFMKQ0KYGBgDQpgYGB7cn0NCkFyYW5hUmFub3ZhTFN1bW1hcnkgPC0gc3VtbWFyeS5sbShBcmFuYVJhbm92YUwpDQpBcmFuYVJhbm92YUxTdW1tYXJ5JHIuc3F1YXJlZA0KYGBgDQpgYGB7cn0NCnBsb3QoQXJhbmFSYW5vdmFMKQ0KYGBgDQpgYGB7cn0NClR1a2V5SFNEKEFyYW5hUmFub3ZhTCkNCmBgYA0KDQoNCiMjI0FOT1ZBIExlbmd0aCBTdHJ1Y3R1cmUgQQ0KYGBge3Igd2FybmluZz1GQUxTRX0NCkFyYW5hQUxBbm92YSA8LSBhb3YobGVuZ3RoIH4gbW9udGgsIGRhdGEgPSBhcmFuYV9BKQ0KYW5vdmEoQXJhbmFBTEFub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFBTEFub3ZhU3VtbWFyeSA8LSBzdW1tYXJ5LmxtKEFyYW5hQUxBbm92YSkNCkFyYW5hQUxBbm92YVN1bW1hcnkkci5zcXVhcmVkDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpwbG90KEFyYW5hQUxBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NClR1a2V5SFNEKEFyYW5hQUxBbm92YSkNCmBgYA0KDQoNCiMjI0FOT1ZBIExlbmd0aCBTdHJ1Y3R1cmUgQiANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUJMQW5vdmEgPC0gYW92KGxlbmd0aCB+IG1vbnRoLCBkYXRhID0gYXJhbmFfQikNCmFub3ZhKEFyYW5hQkxBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCkFyYW5hQkxBbm92YVN1bW1hcnkgPC0gc3VtbWFyeS5sbShBcmFuYUJMQW5vdmEpDQpBcmFuYUJMQW5vdmFTdW1tYXJ5JHIuc3F1YXJlZA0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KcGxvdChBcmFuYUJMQW5vdmEpDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpUdWtleUhTRChBcmFuYUJMQW5vdmEpDQpgYGANCg0KDQojIyNBTk9WQSBMZW5ndGggU3RydWN0dXJlIEMgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFDTEFub3ZhIDwtIGFvdihsZW5ndGggfiBtb250aCwgZGF0YSA9IGFyYW5hX0MpDQphbm92YShBcmFuYUNMQW5vdmEpDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUNMQW5vdmFTdW1tYXJ5IDwtIHN1bW1hcnkubG0oQXJhbmFDTEFub3ZhKQ0KQXJhbmFDTEFub3ZhU3VtbWFyeSRyLnNxdWFyZWQNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCnBsb3QoQXJhbmFDTEFub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KVHVrZXlIU0QoQXJhbmFDTEFub3ZhKQ0KYGBgDQoNCiMjI0FOT1ZBIFdpZHRoIG5vbiBkZXBlbmRpbmcgb24gaW5pdGlhbCBzaXplcw0KYGBge3J9DQpBcmFuYVJhbm92YVcgPC0gYW92KHdpZHRoIH4gbW9udGgsIGRhdGEgPSBhcmFuYVIpDQphbm92YShBcmFuYVJhbm92YVcpDQpgYGANCmBgYHtyfQ0KQXJhbmFSYW5vdmFXU3VtbWFyeSA8LSBzdW1tYXJ5LmxtKEFyYW5hUmFub3ZhVykNCkFyYW5hUmFub3ZhV1N1bW1hcnkkci5zcXVhcmVkDQpgYGANCmBgYHtyfQ0KcGxvdChBcmFuYVJhbm92YVcpDQpgYGANCmBgYHtyfQ0KVHVrZXlIU0QoQXJhbmFSYW5vdmFXKQ0KYGBgDQoNCg0KIyMjQU5PVkEgV2lkdGggU3RydWN0dXJlIEENCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUFXQW5vdmEgPC0gYW92KHdpZHRoIH4gbW9udGgsIGRhdGEgPSBhcmFuYV9BKQ0KYW5vdmEoQXJhbmFBV0Fub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFBV0Fub3ZhU3VtbWFyeSA8LSBzdW1tYXJ5LmxtKEFyYW5hQVdBbm92YSkNCkFyYW5hQVdBbm92YVN1bW1hcnkkci5zcXVhcmVkDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpwbG90KEFyYW5hQVdBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NClR1a2V5SFNEKEFyYW5hQVdBbm92YSkNCmBgYA0KDQoNCiMjI0FOT1ZBIFdpZHRoIFN0cnVjdHVyZSBCIA0KYGBge3Igd2FybmluZz1GQUxTRX0NCkFyYW5hQldBbm92YSA8LSBhb3Yod2lkdGggfiBtb250aCwgZGF0YSA9IGFyYW5hX0IpDQphbm92YShBcmFuYUJXQW5vdmEpDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpBcmFuYUJXQW5vdmFTdW1tYXJ5IDwtIHN1bW1hcnkubG0oQXJhbmFCV0Fub3ZhKQ0KQXJhbmFCV0Fub3ZhU3VtbWFyeSRyLnNxdWFyZWQNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCnBsb3QoQXJhbmFCV0Fub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KVHVrZXlIU0QoQXJhbmFCV0Fub3ZhKQ0KYGBgDQoNCg0KIyMjQU5PVkEgV2lkdGggU3RydWN0dXJlIEMgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KQXJhbmFDV0Fub3ZhIDwtIGFvdih3aWR0aCB+IG1vbnRoLCBkYXRhID0gYXJhbmFfQykNCmFub3ZhKEFyYW5hQ1dBbm92YSkNCmBgYA0KYGBge3Igd2FybmluZz1GQUxTRX0NCkFyYW5hQ1dBbm92YVN1bW1hcnkgPC0gc3VtbWFyeS5sbShBcmFuYUNXQW5vdmEpDQpBcmFuYUNXQW5vdmFTdW1tYXJ5JHIuc3F1YXJlZA0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KcGxvdChBcmFuYUNXQW5vdmEpDQpgYGANCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpUdWtleUhTRChBcmFuYUNXQW5vdmEpDQpgYGANCg0KDQojI1RXTy1XQVkgQU5PVkENCiMjIyNJbXBvcnQgZGF0YSBzZXQNCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQphcmFuYVIgPC0gcmVhZF9leGNlbCgiYXJhbmFSLnhsc3giLCBzaGVldCA9ICJHcm93dGgiLCANCiAgICAgICAgICAgICAgICAgICAgIGNvbF90eXBlcyA9IGMoInRleHQiLCAidGV4dCIsICJudW1lcmljIiwgDQogICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICJudW1lcmljIiwgIm51bWVyaWMiKSwgbmEgPSAiI04vQSIpDQpgYGANCg0KDQojIyNHcm93dGggZGlmZmVyZW5jZSBiZXR3ZWVuIGluaXRpYWwgc2l6ZXMNCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpUV2Fub3ZhIDwtIGFvdihkaWZmX2phbl9kZWN+bWVhc3VyZSpzdHJ1Y3R1cmUsIGRhdGEgPSBhcmFuYVIpDQphbm92YShUV2Fub3ZhKQ0KYGBgDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KVHVrZXlIU0QoVFdhbm92YSkNCmBgYA0KDQoNCiMjI0NvbXBhcmlzb24gZ3Jvd3RoIGRpZmYgYmV0d2VlbiB1cHdlbGxpbmcgYW5kIG5vbiB1cHdlbGxpbmcgc2Vhc29uIGRlcGVuZGluZyBvbiBpbml0aWFsIGNsYXNzIHNpemVzDQoNCiMjIyNJbXBvcnQgZGF0YSBzZXQNCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQphcmFuYVIyIDwtIHJlYWRfZXhjZWwoImFyYW5hUi54bHN4Iiwgc2hlZXQgPSAiR3Jvd3RoIiwgDQogICAgICAgICAgICAgICAgICAgICBjb2xfdHlwZXMgPSBjKCJ0ZXh0IiwgInRleHQiLCAibnVtZXJpYyIsIA0KICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAibnVtZXJpYyIsICJudW1lcmljIiksIG5hID0gIiNOL0EiKQ0KYGBgDQoNCg0KIyMjIyB0LXRlc3QNCiMjIyMjTGVuZ3RoIFN0cnVjdHVyZSBBDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KU3RydWN0dXJlX0EgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQSIsDQogICAgICAgICBtZWFzdXJlID09ICJsZW5ndGgiKQ0KDQp0LnRlc3QoU3RydWN0dXJlX0EkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQSRkaWZmX21heV9kZWMsIHBhaXJlZD0gVFJVRSkNCmBgYA0KDQojIyMjI0xlbmd0aCBTdHJ1Y3R1cmUgQg0KYGBge3Igd2FybmluZz1GQUxTRX0NClN0cnVjdHVyZV9CIDwtIGFyYW5hUjIgJT4lDQogIGZpbHRlcihzdHJ1Y3R1cmUgPT0gIkIiLA0KICAgICAgICAgbWVhc3VyZSA9PSAibGVuZ3RoIikNCnQudGVzdChTdHJ1Y3R1cmVfQiRkaWZmX2phbl9hcHIsIFN0cnVjdHVyZV9CJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjTGVuZ3RoIFN0cnVjdHVyZSBDDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KU3RydWN0dXJlX0MgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQyIsDQogICAgICAgICBtZWFzdXJlID09ICJsZW5ndGgiKQ0KDQp0LnRlc3QoU3RydWN0dXJlX0MkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQyRkaWZmX21heV9kZWMsIHBhaXJlZD0gVFJVRSkNCmBgYA0KDQojIyMjV2lkdGggU3RydWN0dXJlIEENCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpTdHJ1Y3R1cmVfQXcgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQSIsDQogICAgICAgICBtZWFzdXJlID09ICJ3aWR0aCIpDQoNCnQudGVzdChTdHJ1Y3R1cmVfQXckZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQXckZGlmZl9tYXlfZGVjLCBwYWlyZWQ9IFRSVUUpDQpgYGANCg0KIyMjIyNXaWR0aCBTdHJ1Y3R1cmUgQg0KYGBge3Igd2FybmluZz1GQUxTRX0NClN0cnVjdHVyZV9CdyA8LSBhcmFuYVIyICU+JQ0KICBmaWx0ZXIoc3RydWN0dXJlID09ICJCIiwNCiAgICAgICAgIG1lYXN1cmUgPT0gIndpZHRoIikNCg0KdC50ZXN0KFN0cnVjdHVyZV9CdyRkaWZmX2phbl9hcHIsIFN0cnVjdHVyZV9CdyRkaWZmX21heV9kZWMsIHBhaXJlZD0gVFJVRSkNCmBgYA0KDQojIyMjI1dpZHRoIFN0cnVjdHVyZSBDDQpgYGB7ciB3YXJuaW5nPUZBTFNFfQ0KU3RydWN0dXJlX0N3IDwtIGFyYW5hUjIgJT4lDQogIGZpbHRlcihzdHJ1Y3R1cmUgPT0gIkMiLA0KICAgICAgICAgbWVhc3VyZSA9PSAid2lkdGgiKQ0KDQp0LnRlc3QoU3RydWN0dXJlX0N3JGRpZmZfamFuX2FwciwgU3RydWN0dXJlX0N3JGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjQXJlYSBTdHJ1Y3R1cmUgQQ0KYGBge3Igd2FybmluZz1GQUxTRX0NClN0cnVjdHVyZV9BQXIgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQSIsDQogICAgICAgICBtZWFzdXJlID09ICJhcmVhIikNCg0KdC50ZXN0KFN0cnVjdHVyZV9BQXIkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQUFyJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjQXJlYSBTdHJ1Y3R1cmUgQg0KYGBge3Igd2FybmluZz1GQUxTRX0NClN0cnVjdHVyZV9CQXIgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQiIsDQogICAgICAgICBtZWFzdXJlID09ICJhcmVhIikNCg0KdC50ZXN0KFN0cnVjdHVyZV9CQXIkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQkFyJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjQXJlYSBTdHJ1Y3R1cmUgQw0KYGBge3Igd2FybmluZz1GQUxTRX0NClN0cnVjdHVyZV9DQXIgPC0gYXJhbmFSMiAlPiUNCiAgZmlsdGVyKHN0cnVjdHVyZSA9PSAiQyIsDQogICAgICAgICBtZWFzdXJlID09ICJhcmVhIikNCg0KdC50ZXN0KFN0cnVjdHVyZV9DQXIkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQ0FyJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjI0NvbXBhcmlzb24gZ3Jvd3RoIGRpZmYgYmV0d2VlbiB1cHdlbGxpbmcgYW5kIG5vbiB1cHdlbGxpbmcgc2Vhc29uIG5vbiBkZXBlbmRpbmcgb24gaW5pdGlhbCBjbGFzcyBzaXplcw0KIyMjIyNMZW5ndGgNCmBgYHtyIHdhcm5pbmc9RkFMU0V9DQpTdHJ1Y3R1cmVfTGVuZ3RoIDwtIGFyYW5hUjIgJT4lDQogIGZpbHRlcihtZWFzdXJlID09ICJsZW5ndGgiKQ0KdC50ZXN0KFN0cnVjdHVyZV9MZW5ndGgkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfTGVuZ3RoJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjV2lkdGgNCmBgYHtyfQ0KU3RydWN0dXJlX1dpZHRoIDwtIGFyYW5hUjIgJT4lDQogIGZpbHRlcihtZWFzdXJlID09ICJ3aWR0aCIpDQp0LnRlc3QoU3RydWN0dXJlX1dpZHRoJGRpZmZfamFuX2FwciwgU3RydWN0dXJlX1dpZHRoJGRpZmZfbWF5X2RlYywgcGFpcmVkPSBUUlVFKQ0KYGBgDQoNCiMjIyMjQXJlYQ0KYGBge3J9DQpTdHJ1Y3R1cmVfQXJlYSA8LSBhcmFuYVIyICU+JQ0KICBmaWx0ZXIobWVhc3VyZSA9PSAiYXJlYSIpDQp0LnRlc3QoU3RydWN0dXJlX0FyZWEkZGlmZl9qYW5fYXByLCBTdHJ1Y3R1cmVfQXJlYSRkaWZmX21heV9kZWMsIHBhaXJlZD0gVFJVRSkNCmBgYA0KDQojIyNUZW1wZXJhdHVyZQ0KIyMjIyNNZWFuIHRlbXBlcmF0dXJlIG92ZXIgdGhlIHllYXINCmBgYHtyIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpUZW1wTWVhbiA8LSB0ZW1wXzIwMjAgJT4lDQogIHN1bW1hcmlzZShNZWFuID0gbWVhbihUZW1wLCBuYS5ybSA9IFQpLA0KICAgICAgICAgICAgU3RhbmRhcmRfZGV2aWF0aW9uID0gc2QoVGVtcCwgbmEucm0gPSBUKSwNCiAgICAgICAgICAgIG5iX29icyA9IG4oKSwNCiAgICAgICAgICAgIHN0ZF9lcnJvciA9IFN0YW5kYXJkX2RldmlhdGlvbiAvIHNxcnQobmJfb2JzKSkNClRlbXBNZWFuDQpgYGANCg0KIyMjIyNNZWFuIHRlbXBlcmF0dXJlIGRlcGVuZGluZyBvbiB0aGUgdXB3ZWxsaW5nIHNlYXNvbiAoMSkgYW5kIG5vbi11cHdlbGxpbmcgc2Vhc29uICgwKQ0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCnRlbXAudXB3IDwtIGRkcGx5KHRlbXBfMjAyMCwgLihVcHdlbGxpbmcpLCBzdW1tYXJpemUsDQogICAgICAgICAgICAgICAgICBwcm9tID0gbWVhbihUZW1wKSwNCiAgICAgICAgICAgICAgICAgIHNkID0gc2QoVGVtcCksDQogICAgICAgICAgICAgICAgICBtaW4gPSBtaW4oVGVtcCksIG1heCA9IG1heChUZW1wKSkNCnRlbXAudXB3DQpgYGANCg0KIyMjIyNNZWFuIHRlbXBlcmF0dXJlIGZvciBlYWNoIG1vbnRoDQpgYGB7ciBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KVGVtcE1vbnRoIDwtIHRlbXBfMjAyMCAlPiUNCiAgZ3JvdXBfYnkoTW9udGgpJT4lDQogIHN1bW1hcmlzZShNZWFuID0gbWVhbihUZW1wLCBuYS5ybSA9IFQpLA0KICAgICAgICAgICAgU3RhbmRhcmRfZGV2aWF0aW9uID0gc2QoVGVtcCwgbmEucm0gPSBUKSwNCiAgICAgICAgICAgIG5iX29icyA9IG4oKSwNCiAgICAgICAgICAgIHN0ZF9lcnJvciA9IFN0YW5kYXJkX2RldmlhdGlvbiAvIHNxcnQobmJfb2JzKSkNClRlbXBNb250aA0KYGBgDQojIyMjI01lYW4gdGVtcGVyYXR1cmUgcGxvdA0KYGBge3IgbWVzc2FnZT1GQUxTRSwgd2FybmluZz1GQUxTRX0NCnRlbXBfMjAyMCRNb250aCA8LSBmYWN0b3IodGVtcF8yMDIwJE1vbnRoLCBsZXZlbHMgPSBjKCJlbmVybyIsICJmZWJyZXJvIiwgIm1hcnpvIiwgImFicmlsIiwgIm1heW8iLCAianVuaW8iLCAianVsaW8iLCAiYWdvc3RvIiwic2VwdGllbWJyZSIsICJvY3R1YnJlIiwgIm5vdmllbWJyZSIsICJkaWNpZW1icmUiKSkNCg0KZ2dUZW1wIDwtIGdncGxvdChkYXRhID0gVGVtcE1vbnRoLCBhZXMoeD0gZmFjdG9yKE1vbnRoKSwgeT0gTWVhbiwgZ3JvdXAgPSAxKSkgKw0KICBnZW9tX3JpYmJvbihhZXMoeW1pbiA9IE1lYW4gLSBTdGFuZGFyZF9kZXZpYXRpb24sIHltYXggPSBNZWFuICsgU3RhbmRhcmRfZGV2aWF0aW9uKSwgZmlsbCA9ICJncmV5NzAiKSArDQogIGdlb21fbGluZShhZXMoeSA9IE1lYW4pKSsNCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0ID0gMjcuNDIzLCBjb2wgPSAicmVkIikrDQogIGdlb21fdmxpbmUoeGludGVyY2VwdCA9IHdoaWNoKFRlbXBNb250aCRNb250aCA9PSAnbWF5bycpLCBsaW5ldHlwZT0gImRhc2hlZCIsIGNvbCA9ICJncmV5MTgiLCBzaXplID0gMC41KSsNCiAgZ2VvbV92bGluZSh4aW50ZXJjZXB0ID0gd2hpY2goVGVtcE1vbnRoJE1vbnRoID09ICdlbmVybycpLCBsaW5ldHlwZT0gImRhc2hlZCIsIGNvbCA9ICJncmV5MTgiLCBzaXplID0gMC41KSsNCiAgbGFicyggeCA9ICJNb250aCIsDQogICAgICAgIHkgPSAiVGVtcGVyYXR1cmUgKLBDKSIpKw0KICBzY2FsZV94X2Rpc2NyZXRlKGxhYmVscyA9IGMoImVuZXJvIj0iSiIsICJmZWJyZXJvIj0iRiIsICJtYXJ6byIgPSAiTSIsICJhYnJpbCI9IkEiLCAibWF5byI9Ik0iLCAianVuaW8iPSJKIiwgImp1bGlvIj0iSiIsImFnb3N0byI9IkEiLCJzZXB0aWVtYnJlIj0iUyIsIm9jdHVicmUiPSJPIiwibm92aWVtYnJlIj0iTiIsImRpY2llbWJyZSI9IkQiKSkrDQogIHRoZW1lX2NsYXNzaWMoKSsNCiAgdGhlbWUoYXhpcy50ZXh0PWVsZW1lbnRfdGV4dChzaXplPTkpLA0KICAgICAgICBheGlzLnRpdGxlPWVsZW1lbnRfdGV4dChzaXplPTEwLGZhY2U9ImJvbGQiKSkNCmdnVGVtcA0KYGBgDQoNCiMjR3Jvd3RoIHBsb3RzDQoNCiMjIyMjQ2hhbmdlIG1vbnRoIG9yZGVyIA0KDQpgYGB7ciwgZWNobz1UUlVFLCB3YXJuaW5nPUZBTFNFfQ0KYXJhbmFfQSRtb250aCA8LSBmYWN0b3IoYXJhbmFfQSRtb250aCwgbGV2ZWxzID0gYygiSmFuIiwgIkZlYiIsICJBcHIiLCAiTWF5IiwgIkp1bmUiLCAiSnVseSIsICJBdWciLCJTZXB0IiwgIk9jdCIsICJOb3YiLCAiRGVjIikpDQphcmFuYV9CJG1vbnRoIDwtIGZhY3RvcihhcmFuYV9CJG1vbnRoLCBsZXZlbHMgPSBjKCJKYW4iLCAiRmViIiwgIkFwciIsICJNYXkiLCAiSnVuZSIsICJKdWx5IiwgIkF1ZyIsIlNlcHQiLCAiT2N0IiwgIk5vdiIsICJEZWMiKSkNCmFyYW5hX0MkbW9udGggPC0gZmFjdG9yKGFyYW5hX0MkbW9udGgsIGxldmVscyA9IGMoIkphbiIsICJGZWIiLCAiQXByIiwgIk1heSIsICJKdW5lIiwgIkp1bHkiLCAiQXVnIiwiU2VwdCIsICJPY3QiLCAiTm92IiwgIkRlYyIpKQ0KYGBgDQoNCg0KIyMjI0JveHBsb3RzIFN0cnVjdHVyZSBBDQoNCmBgYHtyLCBlY2hvPVRSVUUsIHdhcm5pbmc9RkFMU0V9DQpnZ0ExIDwtZ2dwbG90KGFyYW5hX0EsIGFlcyh4ID0gKG1vbnRoKSwgeSA9IGxlbmd0aCkpKw0KICBnZW9tX2JveHBsb3Qobm90Y2ggPSBUKSsNCiAgbGFicyh4PSAiTW9udGgiLA0KICAgIHk9ICJMZW5ndGggKGNtKSIpKw0KICBzY2FsZV94X2Rpc2NyZXRlKGxhYmVscyA9IGMoIkphbiI9IkoiLCAiRmViIj0iRiIsICJBcHIiPSJBIiwgIk1heSI9Ik0iLCAiSnVuZSI9IkoiLCAiSnVseSI9IkoiLCJBdWciPSJBIiwiU2VwdCI9IlMiLCJPY3QiPSJPIiwiTm92Ij0iTiIsIkRlYyI9IkQiKSkrDQogIHRoZW1lX2NsYXNzaWMoKQ0KDQpnZ0EyIDwtZ2dwbG90KGFyYW5hX0EsIGFlcyh4ID0gKG1vbnRoKSwgeSA9IHdpZHRoKSkrDQogIGdlb21fYm94cGxvdChub3RjaCA9IFQpKw0KICBsYWJzKHg9ICJNb250aCIsDQogICAgICAgeT0gIldpZHRoIChjbSkiKSsNCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJKYW4iPSJKIiwgIkZlYiI9IkYiLCAiQXByIj0iQSIsICJNYXkiPSJNIiwgIkp1bmUiPSJKIiwgIkp1bHkiPSJKIiwiQXVnIj0iQSIsIlNlcHQiPSJTIiwiT2N0Ij0iTyIsIk5vdiI9Ik4iLCJEZWMiPSJEIikpKw0KICB0aGVtZV9jbGFzc2ljKCkNCg0KZ2dBMyA8LSBnZ3Bsb3QoYXJhbmFfQSwgYWVzKHggPSAobW9udGgpLCB5ID0gYXJlYSkpKw0KICBnZW9tX2JveHBsb3Qobm90Y2ggPSBUKSsNCiAgbGFicyh4PSAiTW9udGgiLA0KICAgICAgIHk9ICJBcmVhIChjbbIpIikrDQogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygiSmFuIj0iSiIsICJGZWIiPSJGIiwgIkFwciI9IkEiLCAiTWF5Ij0iTSIsICJKdW5lIj0iSiIsICJKdWx5Ij0iSiIsIkF1ZyI9IkEiLCJTZXB0Ij0iUyIsIk9jdCI9Ik8iLCJOb3YiPSJOIiwiRGVjIj0iRCIpKSsNCiAgdGhlbWVfY2xhc3NpYygpDQpgYGANCg0KDQojIyMjQm94cGxvdHMgU3RydWN0dXJlIEINCg0KYGBge3IsIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmdnQjEgPC1nZ3Bsb3QoYXJhbmFfQiwgYWVzKHggPSAobW9udGgpLCB5ID0gbGVuZ3RoKSkrDQogIGdlb21fYm94cGxvdChub3RjaCA9IFQpKw0KICBsYWJzKHg9ICJNb250aCIsDQogICAgICAgeT0gIkxlbmd0aCAoY20pIikrDQogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygiSmFuIj0iSiIsICJGZWIiPSJGIiwgIkFwciI9IkEiLCAiTWF5Ij0iTSIsICJKdW5lIj0iSiIsICJKdWx5Ij0iSiIsIkF1ZyI9IkEiLCJTZXB0Ij0iUyIsIk9jdCI9Ik8iLCJOb3YiPSJOIiwiRGVjIj0iRCIpKSsNCiAgdGhlbWVfY2xhc3NpYygpDQoNCmdnQjIgPC1nZ3Bsb3QoYXJhbmFfQiwgYWVzKHggPSAobW9udGgpLCB5ID0gd2lkdGgpKSsNCiAgZ2VvbV9ib3hwbG90KG5vdGNoID0gVCkrDQogIGxhYnMoeD0gIk1vbnRoIiwNCiAgICAgICB5PSAiV2lkdGggKGNtKSIpKw0KICBzY2FsZV94X2Rpc2NyZXRlKGxhYmVscyA9IGMoIkphbiI9IkoiLCAiRmViIj0iRiIsICJBcHIiPSJBIiwgIk1heSI9Ik0iLCAiSnVuZSI9IkoiLCAiSnVseSI9IkoiLCJBdWciPSJBIiwiU2VwdCI9IlMiLCJPY3QiPSJPIiwiTm92Ij0iTiIsIkRlYyI9IkQiKSkrDQogIHRoZW1lX2NsYXNzaWMoKQ0KDQpnZ0IzIDwtIGdncGxvdChhcmFuYV9CLCBhZXMoeCA9IChtb250aCksIHkgPSBhcmVhKSkrDQogIGdlb21fYm94cGxvdChub3RjaCA9IFQpKw0KICBsYWJzKHg9ICJNb250aCIsDQogICAgICAgeT0gIkFyZWEgKGNtsikiKSsNCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJKYW4iPSJKIiwgIkZlYiI9IkYiLCAiQXByIj0iQSIsICJNYXkiPSJNIiwgIkp1bmUiPSJKIiwgIkp1bHkiPSJKIiwiQXVnIj0iQSIsIlNlcHQiPSJTIiwiT2N0Ij0iTyIsIk5vdiI9Ik4iLCJEZWMiPSJEIikpKw0KICB0aGVtZV9jbGFzc2ljKCkNCmBgYA0KDQojIyMjQm94cGxvdHMgU3RydWN0dXJlIEMNCg0KYGBge3IsIGVjaG89VFJVRSwgd2FybmluZz1GQUxTRX0NCmdnQzEgPC0gZ2dwbG90KGFyYW5hX0MsIGFlcyh4ID0gKG1vbnRoKSwgeSA9IGxlbmd0aCkpKw0KICBnZW9tX2JveHBsb3Qobm90Y2ggPSBUKSsNCiAgbGFicyh4PSAiTW9udGgiLA0KICAgICAgIHk9ICJMZW5ndGggKGNtKSIpKw0KICBzY2FsZV94X2Rpc2NyZXRlKGxhYmVscyA9IGMoIkphbiI9IkoiLCAiRmViIj0iRiIsICJBcHIiPSJBIiwgIk1heSI9Ik0iLCAiSnVuZSI9IkoiLCAiSnVseSI9IkoiLCJBdWciPSJBIiwiU2VwdCI9IlMiLCJPY3QiPSJPIiwiTm92Ij0iTiIsIkRlYyI9IkQiKSkrDQogIHRoZW1lX2NsYXNzaWMoKQ0KDQpnZ0MyIDwtZ2dwbG90KGFyYW5hX0MsIGFlcyh4ID0gKG1vbnRoKSwgeSA9IHdpZHRoKSkrDQogIGdlb21fYm94cGxvdChub3RjaCA9IFQpKw0KICBsYWJzKHg9ICJNb250aCIsDQogICAgICAgeT0gIldpZHRoIChjbSkiKSsNCiAgc2NhbGVfeF9kaXNjcmV0ZShsYWJlbHMgPSBjKCJKYW4iPSJKIiwgIkZlYiI9IkYiLCAiQXByIj0iQSIsICJNYXkiPSJNIiwgIkp1bmUiPSJKIiwgIkp1bHkiPSJKIiwiQXVnIj0iQSIsIlNlcHQiPSJTIiwiT2N0Ij0iTyIsIk5vdiI9Ik4iLCJEZWMiPSJEIikpKw0KICB0aGVtZV9jbGFzc2ljKCkNCg0KZ2dDMyA8LSBnZ3Bsb3QoYXJhbmFfQywgYWVzKHggPSAobW9udGgpLCB5ID0gYXJlYSkpKw0KICBnZW9tX2JveHBsb3Qobm90Y2ggPSBUKSsNCiAgbGFicyh4PSAiTW9udGgiLA0KICAgICAgIHk9ICJBcmVhIChjbbIpIikrDQogIHNjYWxlX3hfZGlzY3JldGUobGFiZWxzID0gYygiSmFuIj0iSiIsICJGZWIiPSJGIiwgIkFwciI9IkEiLCAiTWF5Ij0iTSIsICJKdW5lIj0iSiIsICJKdWx5Ij0iSiIsIkF1ZyI9IkEiLCJTZXB0Ij0iUyIsIk9jdCI9Ik8iLCJOb3YiPSJOIiwiRGVjIj0iRCIpKSsNCiAgdGhlbWVfY2xhc3NpYygpDQpgYGANCg0KIyMjI0NvbWJpbmVkIGdyYXBocw0KDQpgYGB7ciBlY2hvPVRSVUUsIG1lc3NhZ2U9RkFMU0UsIHdhcm5pbmc9RkFMU0V9DQpwbG90X2dyaWQoZ2dBMSwgZ2dCMSwgZ2dDMSwgbGFiZWxzPWMoIkEiLCJCIiwiQyIpLCBuY29sID0gMiwgbnJvdyA9MikNCmBgYA0KYGBge3IgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KcGxvdF9ncmlkKGdnQTIsIGdnQjIsIGdnQzIsbGFiZWxzPWMoIkEiLCJCIiwiQyIpLCBuY29sID0gMiwgbnJvdyA9MikNCmBgYA0KYGBge3IgZWNobz1UUlVFLCBtZXNzYWdlPUZBTFNFLCB3YXJuaW5nPUZBTFNFfQ0KcGxvdF9ncmlkKGdnQTMsIGdnQjMsIGdnQzMsbGFiZWxzPWMoIkEiLCJCIiwiQyIpLCBuY29sID0gMiwgbnJvdyA9MikNCmBgYA0K