library(vegan)
data("bird_Ohio")
Warning: data set ‘bird_Ohio’ not found
bird_Ohio
ncol(bird_Ohio)
[1] 48
sp.rich<-specnumber(bird_Ohio, MARGIN=1)
as.data.frame(sp.rich)
sp.even<-specnumber(bird_Ohio,MARGIN=2)
as.data.frame(sp.even)
shannon<-diversity(bird_Ohio, index = "shannon")
shannon
  [1] 1.812353 2.443171 2.502177 2.449965 2.505759
  [6] 2.508055 2.808416 2.632368 2.573988 2.450999
 [11] 2.394499 2.670755 2.531704 2.538192 2.502138
 [16] 2.671630 2.157016 2.003041 2.458384 2.517153
 [21] 2.887236 2.238884 2.518361 2.459535 2.299249
 [26] 2.324144 2.388357 2.443737 2.508801 2.239565
 [31] 2.719239 2.669216 2.564513 2.220202 2.371608
 [36] 2.728757 2.523222 2.698767 1.974502 2.403435
 [41] 3.027143 2.929427 2.232029 2.326931 2.594871
 [46] 2.428581 2.325057 1.853327 2.769102 2.504465
 [51] 2.236733 2.948820 2.471493 2.608128 3.043401
 [56] 2.600579 2.280595 2.117042 2.003623 2.829905
 [61] 2.496714 2.873540 2.406037 2.131073 2.430766
 [66] 2.713367 2.503175 2.517794 2.595210 2.233722
 [71] 2.332257 2.371660 2.292052 2.391518 2.657784
 [76] 2.475737 2.734494 2.356708 2.438921 2.292174
 [81] 2.230160 2.444628 1.498985 2.542779 2.550645
 [86] 2.736674 2.453161 2.339160 2.291078 2.258330
 [91] 2.477123 2.602002 2.135238 2.001804 2.482235
 [96] 2.668960 2.858335 2.649933 2.453522 2.865006
[101] 2.783952 2.998991 2.771560 2.295914 2.824489
[106] 2.383109 2.503965 2.634558 2.629183 2.519069
[111] 1.944464 2.445383 2.350606 2.406909 2.321891
[116] 2.375944 2.767400 2.843069 2.707323 2.148480
[121] 2.363373 2.489638 2.574951 2.517391 2.515402
[126] 2.707214 2.297690 2.547743 2.178186 2.640613
[131] 2.353198 2.386311 2.588825 2.240908 2.631116
[136] 3.003723 2.852913 2.490412 2.839435 2.716773
[141] 2.980252 2.197722 1.798709 2.885919 3.032903
[146] 2.485085 2.314192 2.241601 1.916081 2.567405
[151] 3.158537 2.891359 2.280094 2.767268 3.111523
[156] 2.444470 2.548230 2.518348 2.349092 2.625978
[161] 2.451639 2.764880 2.267142 3.161186 2.631644
[166] 2.692776 2.861356 2.906638 2.784373 2.308865
[171] 2.092852 2.622334 2.513477 2.282174 2.446827
[176] 2.388816 2.275937 2.354834 2.518677 2.193424
[181] 2.352495 2.779190 2.201542 2.549830 2.561493
[186] 2.912577 2.307692 2.637404 2.831398 2.850695
[191] 2.344426 2.665442 2.467880 2.850518 2.260180
[196] 2.756500 2.578963 2.309209 2.595555 2.466597
[201] 2.418257 2.351541 2.665416 1.990114 2.435551
[206] 2.375377 2.154783 2.893215 2.821822 2.495723
simpson<-diversity(bird_Ohio, index = "simpson")
simpson
  [1] 0.7805326 0.8960000 0.9075255 0.8855556 0.9026709
  [6] 0.9011446 0.9240237 0.9110302 0.9070295 0.8999270
 [11] 0.8799049 0.9196694 0.8888889 0.8962500 0.9007561
 [16] 0.9142661 0.8620038 0.8197531 0.8960302 0.9045369
 [21] 0.9357639 0.8616864 0.8697979 0.8830796 0.8786848
 [26] 0.8776042 0.8829630 0.8850442 0.8976082 0.8719723
 [31] 0.9245578 0.9113564 0.9050365 0.8360000 0.8854685
 [36] 0.9157440 0.8912000 0.9079717 0.8266667 0.8847737
 [41] 0.9387269 0.9382716 0.8691650 0.8791308 0.9076543
 [46] 0.8950000 0.8775000 0.7809917 0.9238683 0.8980229
 [51] 0.8823143 0.9409722 0.8960459 0.9151874 0.9464575
 [56] 0.9135355 0.8824142 0.8347107 0.8395062 0.9347352
 [61] 0.9092971 0.9273192 0.8870523 0.8546384 0.8946281
 [66] 0.9188345 0.8836806 0.8945578 0.9047852 0.8755556
 [71] 0.8977778 0.8900227 0.8383743 0.8843537 0.9178994
 [76] 0.8921324 0.9271163 0.8833792 0.8899955 0.8757396
 [81] 0.8698061 0.8863772 0.7321429 0.9112500 0.9088757
 [86] 0.9159111 0.8846154 0.8792000 0.8742791 0.8650765
 [91] 0.9047619 0.9126276 0.8577610 0.8448118 0.9032922
 [96] 0.9145881 0.9304734 0.9073433 0.8827977 0.9330652
[101] 0.9225839 0.9427660 0.9207786 0.8814879 0.9275148
[106] 0.8897929 0.8994646 0.9161111 0.9120708 0.9000000
[111] 0.7976000 0.8922902 0.8741319 0.8870392 0.8729339
[116] 0.8923182 0.9202477 0.9193787 0.9149520 0.8515625
[121] 0.8741497 0.8921324 0.9022485 0.9037901 0.8891293
[126] 0.9149338 0.8655500 0.8978052 0.8395062 0.9145408
[131] 0.8800000 0.8966837 0.9054134 0.8526786 0.9104132
[136] 0.9400889 0.9307670 0.8930664 0.9362500 0.9239452
[141] 0.9383673 0.8441358 0.7929240 0.9388889 0.9432398
[146] 0.8966667 0.8854644 0.8702422 0.8138013 0.9071220
[151] 0.9499541 0.9307195 0.8691716 0.9120499 0.9468599
[156] 0.8955442 0.8949804 0.9037901 0.8696377 0.9083176
[161] 0.8940972 0.9189189 0.8529779 0.9519312 0.9084298
[166] 0.9137329 0.9341564 0.9375000 0.9126658 0.8780992
[171] 0.8480726 0.9066607 0.8948148 0.8680556 0.8999082
[176] 0.8753463 0.8734995 0.8911565 0.8966667 0.8577610
[181] 0.8888889 0.9228395 0.8440083 0.9104540 0.9053498
[186] 0.9396386 0.8804283 0.9167658 0.9286332 0.9297778
[191] 0.8928200 0.9150327 0.8883929 0.9329660 0.8786848
[196] 0.9156283 0.9032922 0.8792867 0.9061250 0.8888889
[201] 0.8756378 0.8664554 0.9191176 0.8337950 0.8915289
[206] 0.8835063 0.8700000 0.9325017 0.9287965 0.8692904
inv.simpson<-diversity(bird_Ohio, index = "invsimpson")
inv.simpson
  [1]  4.556485  9.615385 10.813793  8.737864 10.274419
  [6] 10.115789 13.161994 11.239766 10.756098  9.992701
 [11]  8.326733 12.448560  9.000000  9.638554 10.076190
 [16] 11.664000  7.246575  5.547945  9.618182 10.475248
 [21] 15.567568  7.229947  7.680365  8.552826  8.242991
 [26]  8.170213  8.544304  8.698997  9.766404  7.810811
 [31] 13.255172 11.281124 10.530364  6.097561  8.731225
 [36] 11.868597  9.191176 10.866221  5.769231  8.678571
 [41] 16.320388 16.200000  7.643216  8.273408 10.828877
 [46]  9.523810  8.163265  4.566038 13.135135  9.806122
 [51]  8.497207 16.941176  9.619632 11.790698 18.676768
 [56] 11.565445  8.504425  6.050000  6.230769 15.322188
 [61] 11.025000 13.758794  8.853659  6.879397  9.490196
 [66] 12.320513  8.597015  9.483871 10.502564  8.035714
 [71]  9.782609  9.092784  6.187135  8.647059 12.180180
 [76]  9.270627 13.720497  8.574803  9.090535  8.047619
 [81]  7.680851  8.801047  3.733333 11.267606 10.974026
 [86] 11.892178  8.666667  8.278146  7.954128  7.411609
 [91] 10.500000 11.445255  7.030418  6.443787 10.340426
 [96] 11.707965 14.382979 10.792531  8.532258 14.939914
[101] 12.917211 17.472131 12.622857  8.437956 13.795918
[106]  9.073826  9.946746 11.920530 11.372781 10.000000
[111]  4.940711  9.284211  7.944828  8.852632  7.869919
[116]  9.286624 12.538824 12.403670 11.758065  6.736842
[121]  7.945946  9.270627 10.230024 10.393939  9.019512
[126] 11.755556  7.437710  9.785235  6.230769 11.701493
[131]  8.333333  9.679012 10.572327  6.787879 11.162362
[136] 16.691395 14.443983  9.351598 15.686275 13.148410
[141] 16.225166  6.415842  4.829146 16.363636 17.617978
[146]  9.677419  8.730909  7.706667  5.370607 10.766816
[151] 19.981651 14.434084  7.643599 11.370079 18.818182
[156]  9.573427  9.522034 10.393939  7.670927 10.907216
[161]  9.442623 12.333333  6.801700 20.803509 10.920578
[166] 11.591900 15.187500 16.000000 11.450262  8.203390
[171]  6.582090 10.713604  9.507042  7.578947  9.990826
[176]  8.022222  7.905109  9.187500  9.677419  7.030418
[181]  9.000000 12.960000  6.410596 11.167442 10.565217
[186] 16.566879  8.363184 12.014286 14.012121 14.240506
[191]  9.330097 11.769231  8.960000 14.917808  8.242991
[196] 11.852321 10.340426  8.284091 10.652459  9.000000
[201]  8.041026  7.488136 12.363636  6.016667  9.219048
[206]  8.584158  7.692308 14.815182 14.044248  7.650549
fish.alp<-fisher.alpha(bird_Ohio)
fish.alp
  [1]  4.879601  7.265437  5.991450  7.139089  7.612305
  [6]  6.987499 11.700302  8.514440  7.645338  8.203268
 [11]  8.096417  9.316717 10.625244 11.170180  8.704701
 [16] 10.438229  5.277516  5.354320  7.741632  8.704701
 [21] 14.235471  5.563489 10.802080  8.827385  6.444680
 [26]  6.644209  7.878918  7.161667  7.814550  6.610003
 [31]  8.514440 11.689884  8.929434  8.136595  6.745910
 [36]  9.869081  9.074933 12.010405  5.252615  6.879711
 [41] 15.000086 13.840139  5.922455  6.745910  9.946552
 [46]  7.656867  6.691741  5.685388 11.492806  6.987499
 [51]  5.098572 15.718214  7.483241 10.136431 22.398229
 [56]  8.549933  7.182494  6.227126  4.586486  9.261872
 [61]  7.353659 12.333742  9.181666  5.292913  7.088144
 [66]  9.348894  9.392030 10.625244  8.326654  6.264404
 [71]  6.264404  6.444680  8.704701  8.347135  8.791663
 [76]  8.660992 10.665986  7.912277  7.612305  6.828399
 [81]  6.040326  9.650566  2.342557  8.717218  6.781181
 [86] 10.483605  7.896600  6.456369  6.369414  6.207709
 [91]  7.353659  8.306262  4.776899  4.076606  6.879711
 [96]  9.238619 14.386674  9.915005  9.749784 12.719495
[101]  9.512046 12.467435 14.572309  4.771091 13.095785
[106]  6.286631  8.525511  7.904514  8.514440  8.136595
[111]  5.007071  8.347135  7.490234  6.559906  7.088144
[116]  6.132369 10.691663 15.780397 11.492806  6.973786
[121]  8.347135  8.660992  9.031307  8.266633 11.641119
[126] 13.465722  6.745910  8.536862  6.127733  9.185480
[131]  6.456369  5.316444 10.886950  6.712734 10.277584
[136] 14.105449 12.719495  7.565648 14.166726  8.614305
[141] 13.911898  8.416321  4.257215 10.505202 17.331388
[146]  7.139089  5.780910  6.610003  4.928004  9.228867
[151] 18.363340 12.375997  6.745910 11.212185 16.327612
[156]  8.203268  8.660992  7.374796  8.266633 10.885075
[161]  7.490234 17.764531  7.374796 15.828827 10.277584
[166] 10.366882 12.624488 11.851265 11.519965  7.088144
[171]  4.850244  8.071292  9.946552  6.644209  9.181666
[176]  8.198934  5.925432  6.444680  7.904514  5.521350
[181]  6.444680 18.528711  6.227126  8.266633  8.536862
[186] 13.353647  6.564138  8.096417 11.284101 11.323066
[191]  7.182494 10.976162  8.306262 21.505636  5.612435
[196] 14.105050  9.454690  6.132369  9.060475  8.198934
[201]  8.306262  7.612305  7.992375  3.725191  8.024966
[206]  7.161667  7.959047 12.375997 11.156386  9.710044
Div.Ind<-cbind.data.frame(shannon, simpson, inv.simpson,fish.alp)
Div.Ind
summary(Div.Ind)
    shannon         simpson        inv.simpson    
 Min.   :1.499   Min.   :0.7321   Min.   : 3.733  
 1st Qu.:2.334   1st Qu.:0.8788   1st Qu.: 8.251  
 Median :2.499   Median :0.8961   Median : 9.629  
 Mean   :2.502   Mean   :0.8936   Mean   :10.239  
 3rd Qu.:2.669   3rd Qu.:0.9148   3rd Qu.:11.744  
 Max.   :3.161   Max.   :0.9519   Max.   :20.804  
    fish.alp     
 Min.   : 2.343  
 1st Qu.: 6.746  
 Median : 8.267  
 Mean   : 8.912  
 3rd Qu.:10.420  
 Max.   :22.398  
data("env_Ohio")
Warning: data set ‘env_Ohio’ not found
env_Ohio
env_Ohio.Div<-cbind.data.frame(env_Ohio, Div.Ind)
env_Ohio.Div
env_Ohio.Div$Habitat<-as.factor(env_Ohio.Div$HABITAT)
summary(factor(env_Ohio.Div$HABITAT))
DRY-MESIC   DRY-OAK WET-MESIC 
       59        96        55 
library(rstatix)
library(dplyr)
env_Ohio.Div %>%
  group_by(HABITAT) %>%
  get_summary_stats(shannon, type = "mean_sd")
env_Ohio.Div %>%
  group_by(HABITAT) %>%
  get_summary_stats(simpson, type = "mean_sd")
env_Ohio.Div %>%
  group_by(HABITAT) %>%
  get_summary_stats(inv.simpson, type = "mean_sd")
env_Ohio.Div %>%
  group_by(HABITAT) %>%
  get_summary_stats(fish.alp, type = "mean_sd")
library(ggplot2)
Shanon.habitat<-ggplot(env_Ohio.Div, aes(x = HABITAT, y = shannon, fill = HABITAT)) +
  geom_boxplot() + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

Simp.habitat<-ggplot(env_Ohio.Div, aes(x = HABITAT, y = simpson, fill = HABITAT)) +
  geom_boxplot() +
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

InvSimp.habitat<-ggplot(env_Ohio.Div, aes(x = HABITAT, y = inv.simpson, fill = HABITAT)) +
  geom_boxplot() + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")

Fish.habitat<-ggplot(env_Ohio.Div, aes(x = HABITAT, y = fish.alp, fill = HABITAT)) +
  geom_boxplot() + 
  stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
library(gridExtra)
grid.arrange(Shanon.habitat, Simp.habitat, InvSimp.habitat, Fish.habitat,
             nrow=2, ncol=2)

grid.arrange(Shanon.habitat, Simp.habitat, InvSimp.habitat, Fish.habitat, nrow=2, ncol=2)


shannon_aov <- aov(env_Ohio.Div$shannon ~ env_Ohio.Div$HABITAT)

summary(shannon_aov)
                      Df Sum Sq Mean Sq F value Pr(>F)  
env_Ohio.Div$HABITAT   2  0.399 0.19958   2.817 0.0621 .
Residuals            207 14.668 0.07086                 
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
simpson_aov <- aov(env_Ohio.Div$simpson ~ env_Ohio.Div$HABITAT)

summary(simpson_aov)
                      Df  Sum Sq  Mean Sq F value Pr(>F)
env_Ohio.Div$HABITAT   2 0.00583 0.002916   2.776 0.0646
Residuals            207 0.21744 0.001050               
                      
env_Ohio.Div$HABITAT .
Residuals             
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
inv.simpson_aov <- aov(env_Ohio.Div$inv.simpson ~ env_Ohio.Div$HABITAT)

summary(inv.simpson_aov)
                      Df Sum Sq Mean Sq F value Pr(>F)  
env_Ohio.Div$HABITAT   2   44.5  22.262   2.438 0.0899 .
Residuals            207 1890.5   9.133                 
---
Signif. codes:  
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
fish.alp_aov <- aov(env_Ohio.Div$fish.alp ~ env_Ohio.Div$HABITAT)

summary(fish.alp_aov)
                      Df Sum Sq Mean Sq F value Pr(>F)
env_Ohio.Div$HABITAT   2   11.3   5.639   0.562  0.571
Residuals            207 2077.8  10.037               
distance_matrix<-vegdist(env_Ohio.Div[,9:9], method = "bray", binary = FALSE)
adonis2(distance_matrix ~ HABITAT, data=env_Ohio.Div)
Permutation test for adonis under reduced model
Permutation: free
Number of permutations: 999

adonis2(formula = distance_matrix ~ HABITAT, data = env_Ohio.Div)
          Df SumOfSqs      R2      F Pr(>F)
Model      2   0.0387 0.00746 0.7778  0.498
Residual 207   5.1467 0.99254              
Total    209   5.1854 1.00000              
shannon_Tukey<-TukeyHSD(shannon_aov, conf.level=.95, ordered = TRUE)
shannon_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = env_Ohio.Div$shannon ~ env_Ohio.Div$HABITAT)

$`env_Ohio.Div$HABITAT`
                          diff           lwr       upr
DRY-MESIC-DRY-OAK   0.04362627 -0.0603278576 0.1475804
WET-MESIC-DRY-OAK   0.10671316  0.0004435631 0.2129827
WET-MESIC-DRY-MESIC 0.06308689 -0.0546961030 0.1808699
                        p adj
DRY-MESIC-DRY-OAK   0.5835556
WET-MESIC-DRY-OAK   0.0487920
WET-MESIC-DRY-MESIC 0.4169311
simpson_Tukey<-TukeyHSD(simpson_aov, conf.level=.95, ordered = TRUE)
simpson_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = env_Ohio.Div$simpson ~ env_Ohio.Div$HABITAT)

$`env_Ohio.Div$HABITAT`
                           diff           lwr        upr
DRY-MESIC-DRY-OAK   0.003429337 -9.227491e-03 0.01608616
WET-MESIC-DRY-OAK   0.012841548 -9.719656e-05 0.02578029
WET-MESIC-DRY-MESIC 0.009412211 -4.928335e-03 0.02375276
                        p adj
DRY-MESIC-DRY-OAK   0.7984209
WET-MESIC-DRY-OAK   0.0522377
WET-MESIC-DRY-MESIC 0.2701554
inv.simpson_Tukey<-TukeyHSD(inv.simpson_aov, conf.level=.95, ordered = TRUE)
inv.simpson_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = env_Ohio.Div$inv.simpson ~ env_Ohio.Div$HABITAT)

$`env_Ohio.Div$HABITAT`
                         diff         lwr      upr
DRY-MESIC-DRY-OAK   0.3772352 -0.80294964 1.557420
WET-MESIC-DRY-OAK   1.1278123 -0.07865997 2.334284
WET-MESIC-DRY-MESIC 0.7505770 -0.58660612 2.087760
                        p adj
DRY-MESIC-DRY-OAK   0.7312016
WET-MESIC-DRY-OAK   0.0723818
WET-MESIC-DRY-MESIC 0.3828643
fish.alp_Tukey<-TukeyHSD(fish.alp_aov, conf.level=.95, ordered = TRUE)
fish.alp_Tukey
  Tukey multiple comparisons of means
    95% family-wise confidence level
    factor levels have been ordered

Fit: aov(formula = env_Ohio.Div$fish.alp ~ env_Ohio.Div$HABITAT)

$`env_Ohio.Div$HABITAT`
                          diff        lwr      upr
DRY-MESIC-DRY-OAK   0.07742881 -1.1598183 1.314676
WET-MESIC-DRY-OAK   0.55140864 -0.7133968 1.816214
WET-MESIC-DRY-MESIC 0.47397984 -0.9278564 1.875816
                        p adj
DRY-MESIC-DRY-OAK   0.9880401
WET-MESIC-DRY-OAK   0.5593155
WET-MESIC-DRY-MESIC 0.7045578
shannon_Tukey_plot <- as.data.frame(shannon_Tukey$`env_Ohio.Div$HABITAT`)
shannon_Tukey_plot$comparison <- rownames(shannon_Tukey_plot)

shannon_Tukey_plot
simpson_Tukey_plot <- as.data.frame(simpson_Tukey$`env_Ohio.Div$HABITAT`)
simpson_Tukey_plot$comparison <- rownames(simpson_Tukey_plot)

simpson_Tukey_plot
inv.simpson_Tukey_plot <- as.data.frame(inv.simpson_Tukey$`env_Ohio.Div$HABITAT`)
inv.simpson_Tukey_plot$comparison <- rownames(inv.simpson_Tukey_plot)

inv.simpson_Tukey_plot
fish.alp_Tukey_plot <- as.data.frame(fish.alp_Tukey$`env_Ohio.Div$HABITAT`)
fish.alp_Tukey_plot$comparison <- rownames(fish.alp_Tukey_plot)

fish.alp_Tukey_plot
shannon_Tukey_plot_result<-ggplot(shannon_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Shannon Diversity",
    x = "Habitat Comparison",
    y = "Pairwise Difference in Mean"
  )

shannon_Tukey_plot_result

shannon_Tukey_plot_result_meandiff<-shannon_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

shannon_Tukey_plot_result_meandiff

simpson_Tukey_plot_result<-ggplot(simpson_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Shannon Diversity",
    x = "Habitat Comparison",
    y = "Pairwise Difference in Mean"
  )

simpson_Tukey_plot_result

simpson_Tukey_plot_result_meandiff<-simpson_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

simpson_Tukey_plot_result_meandiff

inv.simpson_Tukey_plot_result<-ggplot(simpson_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Inv.simpson Diversity",
    x = "Habitat Comparison",
    y = "Pairwise Difference in Mean"
  )

inv.simpson_Tukey_plot_result

inv.simpson_Tukey_plot_result_meandiff<-inv.simpson_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

inv.simpson_Tukey_plot_result_meandiff

fish.alp_Tukey_plot_result<-ggplot(fish.alp_Tukey_plot, aes(x = comparison, y = diff)) +
  geom_point() +
  geom_errorbar(aes(ymin = lwr, ymax = upr), width = 0.2) +
  labs(
    title = "Tukey HSD Test Results for Fish.Alp Diversity",
    x = "Habitat Comparison",
    y = "Pairwise Difference in Mean"
  )

fish.alp_Tukey_plot_result

fish.alp_Tukey_plot_result_meandiff<-fish.alp_Tukey_plot_result + 
  theme(axis.text.x = element_text(angle = 45, hjust = 1)) + 
  geom_hline(yintercept=0, linetype="dashed", color = "red")

fish.alp_Tukey_plot_result_meandiff

grid.arrange(shannon_Tukey_plot_result_meandiff,Shanon.habitat,nrow=1, ncol=2)

grid.arrange(simpson_Tukey_plot_result_meandiff,Simp.habitat,nrow=1, ncol=2)

grid.arrange(inv.simpson_Tukey_plot_result_meandiff,InvSimp.habitat,nrow=1, ncol=2)

grid.arrange(fish.alp_Tukey_plot_result_meandiff,Fish.habitat,nrow=1, ncol=2)

LS0tDQp0aXRsZTogIlIgQU5BTFlTSVMgQVNTSUdOTUVOVCINCm91dHB1dDogaHRtbF9ub3RlYm9vaw0KLS0tDQoNCmBgYHtyfQ0KbGlicmFyeSh2ZWdhbikNCmBgYA0KDQpgYGB7cn0NCmRhdGEoImJpcmRfT2hpbyIpDQpiaXJkX09oaW8NCmBgYA0KDQpgYGB7cn0NCm5jb2woYmlyZF9PaGlvKQ0KYGBgDQoNCmBgYHtyfQ0Kc3AucmljaDwtc3BlY251bWJlcihiaXJkX09oaW8sIE1BUkdJTj0xKQ0KYXMuZGF0YS5mcmFtZShzcC5yaWNoKQ0KYGBgDQoNCmBgYHtyfQ0Kc3AuZXZlbjwtc3BlY251bWJlcihiaXJkX09oaW8sTUFSR0lOPTIpDQphcy5kYXRhLmZyYW1lKHNwLmV2ZW4pDQpgYGANCg0KYGBge3J9DQpzaGFubm9uPC1kaXZlcnNpdHkoYmlyZF9PaGlvLCBpbmRleCA9ICJzaGFubm9uIikNCnNoYW5ub24NCmBgYA0KDQpgYGB7cn0NCnNpbXBzb248LWRpdmVyc2l0eShiaXJkX09oaW8sIGluZGV4ID0gInNpbXBzb24iKQ0Kc2ltcHNvbg0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb248LWRpdmVyc2l0eShiaXJkX09oaW8sIGluZGV4ID0gImludnNpbXBzb24iKQ0KaW52LnNpbXBzb24NCmBgYA0KDQpgYGB7cn0NCmZpc2guYWxwPC1maXNoZXIuYWxwaGEoYmlyZF9PaGlvKQ0KZmlzaC5hbHANCmBgYA0KDQpgYGB7cn0NCkRpdi5JbmQ8LWNiaW5kLmRhdGEuZnJhbWUoc2hhbm5vbiwgc2ltcHNvbiwgaW52LnNpbXBzb24sZmlzaC5hbHApDQpEaXYuSW5kDQpgYGANCg0KYGBge3J9DQpzdW1tYXJ5KERpdi5JbmQpDQpgYGANCg0KYGBge3J9DQpkYXRhKCJlbnZfT2hpbyIpDQplbnZfT2hpbw0KYGBgDQoNCmBgYHtyfQ0KZW52X09oaW8uRGl2PC1jYmluZC5kYXRhLmZyYW1lKGVudl9PaGlvLCBEaXYuSW5kKQ0KZW52X09oaW8uRGl2DQpgYGANCg0KYGBge3J9DQplbnZfT2hpby5EaXYkSGFiaXRhdDwtYXMuZmFjdG9yKGVudl9PaGlvLkRpdiRIQUJJVEFUKQ0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShmYWN0b3IoZW52X09oaW8uRGl2JEhBQklUQVQpKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShyc3RhdGl4KQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShkcGx5cikNCmBgYA0KDQpgYGB7cn0NCmVudl9PaGlvLkRpdiAlPiUNCiAgZ3JvdXBfYnkoSEFCSVRBVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKHNoYW5ub24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQplbnZfT2hpby5EaXYgJT4lDQogIGdyb3VwX2J5KEhBQklUQVQpICU+JQ0KICBnZXRfc3VtbWFyeV9zdGF0cyhzaW1wc29uLCB0eXBlID0gIm1lYW5fc2QiKQ0KYGBgDQoNCmBgYHtyfQ0KZW52X09oaW8uRGl2ICU+JQ0KICBncm91cF9ieShIQUJJVEFUKSAlPiUNCiAgZ2V0X3N1bW1hcnlfc3RhdHMoaW52LnNpbXBzb24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQplbnZfT2hpby5EaXYgJT4lDQogIGdyb3VwX2J5KEhBQklUQVQpICU+JQ0KICBnZXRfc3VtbWFyeV9zdGF0cyhmaXNoLmFscCwgdHlwZSA9ICJtZWFuX3NkIikNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoZ2dwbG90MikNCmBgYA0KDQpgYGB7cn0NClNoYW5vbi5oYWJpdGF0PC1nZ3Bsb3QoZW52X09oaW8uRGl2LCBhZXMoeCA9IEhBQklUQVQsIHkgPSBzaGFubm9uLCBmaWxsID0gSEFCSVRBVCkpICsNCiAgZ2VvbV9ib3hwbG90KCkgKyANCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9MjEsIHNpemUgPSAzLCBjb2xvdXIgPSAiYmxhY2siLCBmaWxsPSJ5ZWxsb3ciKQ0KDQpTaW1wLmhhYml0YXQ8LWdncGxvdChlbnZfT2hpby5EaXYsIGFlcyh4ID0gSEFCSVRBVCwgeSA9IHNpbXBzb24sIGZpbGwgPSBIQUJJVEFUKSkgKw0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50Iiwgc2hhcGUgPTIxLCBzaXplID0gMywgY29sb3VyID0gImJsYWNrIiwgZmlsbD0ieWVsbG93IikNCg0KSW52U2ltcC5oYWJpdGF0PC1nZ3Bsb3QoZW52X09oaW8uRGl2LCBhZXMoeCA9IEhBQklUQVQsIHkgPSBpbnYuc2ltcHNvbiwgZmlsbCA9IEhBQklUQVQpKSArDQogIGdlb21fYm94cGxvdCgpICsgDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50Iiwgc2hhcGUgPTIxLCBzaXplID0gMywgY29sb3VyID0gImJsYWNrIiwgZmlsbD0ieWVsbG93IikNCg0KRmlzaC5oYWJpdGF0PC1nZ3Bsb3QoZW52X09oaW8uRGl2LCBhZXMoeCA9IEhBQklUQVQsIHkgPSBmaXNoLmFscCwgZmlsbCA9IEhBQklUQVQpKSArDQogIGdlb21fYm94cGxvdCgpICsgDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50Iiwgc2hhcGUgPTIxLCBzaXplID0gMywgY29sb3VyID0gImJsYWNrIiwgZmlsbD0ieWVsbG93IikNCg0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeShncmlkRXh0cmEpDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2UoU2hhbm9uLmhhYml0YXQsIFNpbXAuaGFiaXRhdCwgSW52U2ltcC5oYWJpdGF0LCBGaXNoLmhhYml0YXQsDQogICAgICAgICAgICAgbnJvdz0yLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2UoU2hhbm9uLmhhYml0YXQsIFNpbXAuaGFiaXRhdCwgSW52U2ltcC5oYWJpdGF0LCBGaXNoLmhhYml0YXQsIG5yb3c9MiwgbmNvbD0yKQ0KYGBgDQoNCmBgYHtyfQ0KDQpzaGFubm9uX2FvdiA8LSBhb3YoZW52X09oaW8uRGl2JHNoYW5ub24gfiBlbnZfT2hpby5EaXYkSEFCSVRBVCkNCg0Kc3VtbWFyeShzaGFubm9uX2FvdikNCmBgYA0KDQpgYGB7cn0NCnNpbXBzb25fYW92IDwtIGFvdihlbnZfT2hpby5EaXYkc2ltcHNvbiB+IGVudl9PaGlvLkRpdiRIQUJJVEFUKQ0KDQpzdW1tYXJ5KHNpbXBzb25fYW92KQ0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb25fYW92IDwtIGFvdihlbnZfT2hpby5EaXYkaW52LnNpbXBzb24gfiBlbnZfT2hpby5EaXYkSEFCSVRBVCkNCg0Kc3VtbWFyeShpbnYuc2ltcHNvbl9hb3YpDQpgYGANCg0KYGBge3J9DQpmaXNoLmFscF9hb3YgPC0gYW92KGVudl9PaGlvLkRpdiRmaXNoLmFscCB+IGVudl9PaGlvLkRpdiRIQUJJVEFUKQ0KDQpzdW1tYXJ5KGZpc2guYWxwX2FvdikNCmBgYA0KDQpgYGB7cn0NCmRpc3RhbmNlX21hdHJpeDwtdmVnZGlzdChlbnZfT2hpby5EaXZbLDk6OV0sIG1ldGhvZCA9ICJicmF5IiwgYmluYXJ5ID0gRkFMU0UpDQpgYGANCg0KYGBge3J9DQphZG9uaXMyKGRpc3RhbmNlX21hdHJpeCB+IEhBQklUQVQsIGRhdGE9ZW52X09oaW8uRGl2KQ0KYGBgDQoNCmBgYHtyfQ0Kc2hhbm5vbl9UdWtleTwtVHVrZXlIU0Qoc2hhbm5vbl9hb3YsIGNvbmYubGV2ZWw9Ljk1LCBvcmRlcmVkID0gVFJVRSkNCnNoYW5ub25fVHVrZXkNCmBgYA0KDQpgYGB7cn0NCnNpbXBzb25fVHVrZXk8LVR1a2V5SFNEKHNpbXBzb25fYW92LCBjb25mLmxldmVsPS45NSwgb3JkZXJlZCA9IFRSVUUpDQpzaW1wc29uX1R1a2V5DQpgYGANCg0KYGBge3J9DQppbnYuc2ltcHNvbl9UdWtleTwtVHVrZXlIU0QoaW52LnNpbXBzb25fYW92LCBjb25mLmxldmVsPS45NSwgb3JkZXJlZCA9IFRSVUUpDQppbnYuc2ltcHNvbl9UdWtleQ0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXk8LVR1a2V5SFNEKGZpc2guYWxwX2FvdiwgY29uZi5sZXZlbD0uOTUsIG9yZGVyZWQgPSBUUlVFKQ0KZmlzaC5hbHBfVHVrZXkNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKHNoYW5ub25fVHVrZXkkYGVudl9PaGlvLkRpdiRIQUJJVEFUYCkNCnNoYW5ub25fVHVrZXlfcGxvdCRjb21wYXJpc29uIDwtIHJvd25hbWVzKHNoYW5ub25fVHVrZXlfcGxvdCkNCg0Kc2hhbm5vbl9UdWtleV9wbG90DQpgYGANCg0KYGBge3J9DQpzaW1wc29uX1R1a2V5X3Bsb3QgPC0gYXMuZGF0YS5mcmFtZShzaW1wc29uX1R1a2V5JGBlbnZfT2hpby5EaXYkSEFCSVRBVGApDQpzaW1wc29uX1R1a2V5X3Bsb3QkY29tcGFyaXNvbiA8LSByb3duYW1lcyhzaW1wc29uX1R1a2V5X3Bsb3QpDQoNCnNpbXBzb25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb25fVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKGludi5zaW1wc29uX1R1a2V5JGBlbnZfT2hpby5EaXYkSEFCSVRBVGApDQppbnYuc2ltcHNvbl9UdWtleV9wbG90JGNvbXBhcmlzb24gPC0gcm93bmFtZXMoaW52LnNpbXBzb25fVHVrZXlfcGxvdCkNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKGZpc2guYWxwX1R1a2V5JGBlbnZfT2hpby5EaXYkSEFCSVRBVGApDQpmaXNoLmFscF9UdWtleV9wbG90JGNvbXBhcmlzb24gPC0gcm93bmFtZXMoZmlzaC5hbHBfVHVrZXlfcGxvdCkNCg0KZmlzaC5hbHBfVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0Kc2hhbm5vbl9UdWtleV9wbG90X3Jlc3VsdDwtZ2dwbG90KHNoYW5ub25fVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgU2hhbm5vbiBEaXZlcnNpdHkiLA0KICAgIHggPSAiSGFiaXRhdCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0DQoNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LXNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHQgKyANCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyANCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTAsIGxpbmV0eXBlPSJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmDQpgYGANCg0KYGBge3J9DQpzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3Qoc2ltcHNvbl9UdWtleV9wbG90LCBhZXMoeCA9IGNvbXBhcmlzb24sIHkgPSBkaWZmKSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX2Vycm9yYmFyKGFlcyh5bWluID0gbHdyLCB5bWF4ID0gdXByKSwgd2lkdGggPSAwLjIpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJUdWtleSBIU0QgVGVzdCBSZXN1bHRzIGZvciBTaGFubm9uIERpdmVyc2l0eSIsDQogICAgeCA9ICJIYWJpdGF0IENvbXBhcmlzb24iLA0KICAgIHkgPSAiUGFpcndpc2UgRGlmZmVyZW5jZSBpbiBNZWFuIg0KICApDQoNCnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHQNCg0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZjwtc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdCArIA0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArIA0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQ9MCwgbGluZXR5cGU9ImRhc2hlZCIsIGNvbG9yID0gInJlZCIpDQoNCnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3Qoc2ltcHNvbl9UdWtleV9wbG90LCBhZXMoeCA9IGNvbXBhcmlzb24sIHkgPSBkaWZmKSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX2Vycm9yYmFyKGFlcyh5bWluID0gbHdyLCB5bWF4ID0gdXByKSwgd2lkdGggPSAwLjIpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJUdWtleSBIU0QgVGVzdCBSZXN1bHRzIGZvciBJbnYuc2ltcHNvbiBEaXZlcnNpdHkiLA0KICAgIHggPSAiSGFiaXRhdCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQppbnYuc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdA0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LWludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0ICsgDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgDQogIGdlb21faGxpbmUoeWludGVyY2VwdD0wLCBsaW5ldHlwZT0iZGFzaGVkIiwgY29sb3IgPSAicmVkIikNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3QoZmlzaC5hbHBfVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgRmlzaC5BbHAgRGl2ZXJzaXR5IiwNCiAgICB4ID0gIkhhYml0YXQgQ29tcGFyaXNvbiIsDQogICAgeSA9ICJQYWlyd2lzZSBEaWZmZXJlbmNlIGluIE1lYW4iDQogICkNCg0KZmlzaC5hbHBfVHVrZXlfcGxvdF9yZXN1bHQNCmBgYA0KDQpgYGB7cn0NCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmPC1maXNoLmFscF9UdWtleV9wbG90X3Jlc3VsdCArIA0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArIA0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQ9MCwgbGluZXR5cGU9ImRhc2hlZCIsIGNvbG9yID0gInJlZCIpDQoNCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2Uoc2hhbm5vbl9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZixTaGFub24uaGFiaXRhdCxucm93PTEsIG5jb2w9MikNCmBgYA0KDQpgYGB7cn0NCmdyaWQuYXJyYW5nZShzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLFNpbXAuaGFiaXRhdCxucm93PTEsIG5jb2w9MikNCmBgYA0KDQpgYGB7cn0NCmdyaWQuYXJyYW5nZShpbnYuc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZixJbnZTaW1wLmhhYml0YXQsbnJvdz0xLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2UoZmlzaC5hbHBfVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYsRmlzaC5oYWJpdGF0LG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQo=