install.packages("rstatix", dependencies = TRUE)
WARNING: Rtools is required to build R packages but is not currently installed. Please download and install the appropriate version of Rtools before proceeding:
https://cran.rstudio.com/bin/windows/Rtools/
Installing package into ‘C:/Users/Windows 10/AppData/Local/R/win-library/4.4’
(as ‘lib’ is unspecified)
also installing the dependencies ‘Deriv’, ‘modelr’, ‘microbenchmark’, ‘zoo’, ‘doBy’, ‘SparseM’, ‘MatrixModels’, ‘minqa’, ‘nloptr’, ‘RcppEigen’, ‘TH.data’, ‘sandwich’, ‘pkgbuild’, ‘rprojroot’, ‘diffobj’, ‘backports’, ‘carData’, ‘abind’, ‘Formula’, ‘pbkrtest’, ‘quantreg’, ‘lme4’, ‘ggrepel’, ‘ggsci’, ‘cowplot’, ‘ggsignif’, ‘polynom’, ‘estimability’, ‘numDeriv’, ‘mvtnorm’, ‘libcoin’, ‘matrixStats’, ‘modeltools’, ‘multcomp’, ‘brio’, ‘callr’, ‘desc’, ‘pkgload’, ‘praise’, ‘processx’, ‘ps’, ‘waldo’, ‘xml2’, ‘hunspell’, ‘tidyr’, ‘purrr’, ‘broom’, ‘dplyr’, ‘corrplot’, ‘tidyselect’, ‘car’, ‘generics’, ‘ggpubr’, ‘emmeans’, ‘coin’, ‘testthat’, ‘spelling’
There are binary versions
available but the source versions
are later:
Binaries will be installed
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/Deriv_4.1.6.zip'
Content type 'application/zip' length 151985 bytes (148 KB)
downloaded 148 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/modelr_0.1.11.zip'
Content type 'application/zip' length 204129 bytes (199 KB)
downloaded 199 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/microbenchmark_1.5.0.zip'
Content type 'application/zip' length 73564 bytes (71 KB)
downloaded 71 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/zoo_1.8-12.zip'
Content type 'application/zip' length 1029839 bytes (1005 KB)
downloaded 1005 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/doBy_4.6.24.zip'
Content type 'application/zip' length 4853988 bytes (4.6 MB)
downloaded 4.6 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/SparseM_1.84-2.zip'
Content type 'application/zip' length 889280 bytes (868 KB)
downloaded 868 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/MatrixModels_0.5-3.zip'
Content type 'application/zip' length 407011 bytes (397 KB)
downloaded 397 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/minqa_1.2.8.zip'
Content type 'application/zip' length 441848 bytes (431 KB)
downloaded 431 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/nloptr_2.1.1.zip'
Content type 'application/zip' length 894575 bytes (873 KB)
downloaded 873 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/RcppEigen_0.3.4.0.2.zip'
Content type 'application/zip' length 2592455 bytes (2.5 MB)
downloaded 2.5 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/TH.data_1.1-2.zip'
Content type 'application/zip' length 8827760 bytes (8.4 MB)
downloaded 8.4 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/sandwich_3.1-1.zip'
Content type 'application/zip' length 1506011 bytes (1.4 MB)
downloaded 1.4 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pkgbuild_1.4.5.zip'
Content type 'application/zip' length 206059 bytes (201 KB)
downloaded 201 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/rprojroot_2.0.4.zip'
Content type 'application/zip' length 115238 bytes (112 KB)
downloaded 112 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/diffobj_0.3.5.zip'
Content type 'application/zip' length 1031328 bytes (1007 KB)
downloaded 1007 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/backports_1.5.0.zip'
Content type 'application/zip' length 122682 bytes (119 KB)
downloaded 119 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/carData_3.0-5.zip'
Content type 'application/zip' length 1708215 bytes (1.6 MB)
downloaded 1.6 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/abind_1.4-8.zip'
Content type 'application/zip' length 67211 bytes (65 KB)
downloaded 65 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/Formula_1.2-5.zip'
Content type 'application/zip' length 161370 bytes (157 KB)
downloaded 157 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pbkrtest_0.5.3.zip'
Content type 'application/zip' length 185987 bytes (181 KB)
downloaded 181 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/quantreg_5.99.1.zip'
Content type 'application/zip' length 1472987 bytes (1.4 MB)
downloaded 1.4 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/lme4_1.1-35.5.zip'
Content type 'application/zip' length 4558653 bytes (4.3 MB)
downloaded 4.3 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggrepel_0.9.6.zip'
Content type 'application/zip' length 603892 bytes (589 KB)
downloaded 589 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggsci_3.2.0.zip'
Content type 'application/zip' length 2403591 bytes (2.3 MB)
downloaded 2.3 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/cowplot_1.1.3.zip'
Content type 'application/zip' length 1380829 bytes (1.3 MB)
downloaded 1.3 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggsignif_0.6.4.zip'
Content type 'application/zip' length 602231 bytes (588 KB)
downloaded 588 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/polynom_1.4-1.zip'
Content type 'application/zip' length 407143 bytes (397 KB)
downloaded 397 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/estimability_1.5.1.zip'
Content type 'application/zip' length 54255 bytes (52 KB)
downloaded 52 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/numDeriv_2016.8-1.1.zip'
Content type 'application/zip' length 117304 bytes (114 KB)
downloaded 114 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/mvtnorm_1.3-2.zip'
Content type 'application/zip' length 956673 bytes (934 KB)
downloaded 934 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/libcoin_1.0-10.zip'
Content type 'application/zip' length 816735 bytes (797 KB)
downloaded 797 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/matrixStats_1.4.1.zip'
Content type 'application/zip' length 546815 bytes (533 KB)
downloaded 533 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/modeltools_0.2-23.zip'
Content type 'application/zip' length 225349 bytes (220 KB)
downloaded 220 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/multcomp_1.4-26.zip'
Content type 'application/zip' length 737156 bytes (719 KB)
downloaded 719 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/brio_1.1.5.zip'
Content type 'application/zip' length 41904 bytes (40 KB)
downloaded 40 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/callr_3.7.6.zip'
Content type 'application/zip' length 477506 bytes (466 KB)
downloaded 466 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/desc_1.4.3.zip'
Content type 'application/zip' length 338227 bytes (330 KB)
downloaded 330 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/pkgload_1.4.0.zip'
Content type 'application/zip' length 220195 bytes (215 KB)
downloaded 215 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/praise_1.0.0.zip'
Content type 'application/zip' length 20172 bytes (19 KB)
downloaded 19 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/processx_3.8.4.zip'
Content type 'application/zip' length 689446 bytes (673 KB)
downloaded 673 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ps_1.8.1.zip'
Content type 'application/zip' length 644438 bytes (629 KB)
downloaded 629 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/waldo_0.6.1.zip'
Content type 'application/zip' length 135186 bytes (132 KB)
downloaded 132 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/xml2_1.3.6.zip'
Content type 'application/zip' length 1614833 bytes (1.5 MB)
downloaded 1.5 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/hunspell_3.0.5.zip'
Content type 'application/zip' length 1491433 bytes (1.4 MB)
downloaded 1.4 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/tidyr_1.3.1.zip'
Content type 'application/zip' length 1273469 bytes (1.2 MB)
downloaded 1.2 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/purrr_1.0.2.zip'
Content type 'application/zip' length 513037 bytes (501 KB)
downloaded 501 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/broom_1.0.7.zip'
Content type 'application/zip' length 1935637 bytes (1.8 MB)
downloaded 1.8 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/dplyr_1.1.4.zip'
Content type 'application/zip' length 1587987 bytes (1.5 MB)
downloaded 1.5 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/corrplot_0.95.zip'
Content type 'application/zip' length 3825956 bytes (3.6 MB)
downloaded 3.6 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/tidyselect_1.2.1.zip'
Content type 'application/zip' length 229273 bytes (223 KB)
downloaded 223 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/car_3.1-3.zip'
Content type 'application/zip' length 1541831 bytes (1.5 MB)
downloaded 1.5 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/generics_0.1.3.zip'
Content type 'application/zip' length 84845 bytes (82 KB)
downloaded 82 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/ggpubr_0.6.0.zip'
Content type 'application/zip' length 2093228 bytes (2.0 MB)
downloaded 2.0 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/coin_1.4-3.zip'
Content type 'application/zip' length 1471365 bytes (1.4 MB)
downloaded 1.4 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/testthat_3.2.1.1.zip'
Content type 'application/zip' length 2254338 bytes (2.1 MB)
downloaded 2.1 MB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/spelling_2.3.1.zip'
Content type 'application/zip' length 57483 bytes (56 KB)
downloaded 56 KB
trying URL 'https://cran.rstudio.com/bin/windows/contrib/4.4/rstatix_0.7.2.zip'
Content type 'application/zip' length 621090 bytes (606 KB)
downloaded 606 KB
package ‘Deriv’ successfully unpacked and MD5 sums checked
package ‘modelr’ successfully unpacked and MD5 sums checked
package ‘microbenchmark’ successfully unpacked and MD5 sums checked
package ‘zoo’ successfully unpacked and MD5 sums checked
package ‘doBy’ successfully unpacked and MD5 sums checked
package ‘SparseM’ successfully unpacked and MD5 sums checked
package ‘MatrixModels’ successfully unpacked and MD5 sums checked
package ‘minqa’ successfully unpacked and MD5 sums checked
package ‘nloptr’ successfully unpacked and MD5 sums checked
package ‘RcppEigen’ successfully unpacked and MD5 sums checked
package ‘TH.data’ successfully unpacked and MD5 sums checked
package ‘sandwich’ successfully unpacked and MD5 sums checked
package ‘pkgbuild’ successfully unpacked and MD5 sums checked
package ‘rprojroot’ successfully unpacked and MD5 sums checked
package ‘diffobj’ successfully unpacked and MD5 sums checked
package ‘backports’ successfully unpacked and MD5 sums checked
package ‘carData’ successfully unpacked and MD5 sums checked
package ‘abind’ successfully unpacked and MD5 sums checked
package ‘Formula’ successfully unpacked and MD5 sums checked
package ‘pbkrtest’ successfully unpacked and MD5 sums checked
package ‘quantreg’ successfully unpacked and MD5 sums checked
package ‘lme4’ successfully unpacked and MD5 sums checked
package ‘ggrepel’ successfully unpacked and MD5 sums checked
package ‘ggsci’ successfully unpacked and MD5 sums checked
package ‘cowplot’ successfully unpacked and MD5 sums checked
package ‘ggsignif’ successfully unpacked and MD5 sums checked
package ‘polynom’ successfully unpacked and MD5 sums checked
package ‘estimability’ successfully unpacked and MD5 sums checked
package ‘numDeriv’ successfully unpacked and MD5 sums checked
package ‘mvtnorm’ successfully unpacked and MD5 sums checked
package ‘libcoin’ successfully unpacked and MD5 sums checked
package ‘matrixStats’ successfully unpacked and MD5 sums checked
package ‘modeltools’ successfully unpacked and MD5 sums checked
package ‘multcomp’ successfully unpacked and MD5 sums checked
package ‘brio’ successfully unpacked and MD5 sums checked
package ‘callr’ successfully unpacked and MD5 sums checked
package ‘desc’ successfully unpacked and MD5 sums checked
package ‘pkgload’ successfully unpacked and MD5 sums checked
package ‘praise’ successfully unpacked and MD5 sums checked
package ‘processx’ successfully unpacked and MD5 sums checked
package ‘ps’ successfully unpacked and MD5 sums checked
package ‘waldo’ successfully unpacked and MD5 sums checked
package ‘xml2’ successfully unpacked and MD5 sums checked
package ‘hunspell’ successfully unpacked and MD5 sums checked
package ‘tidyr’ successfully unpacked and MD5 sums checked
package ‘purrr’ successfully unpacked and MD5 sums checked
package ‘broom’ successfully unpacked and MD5 sums checked
package ‘dplyr’ successfully unpacked and MD5 sums checked
package ‘corrplot’ successfully unpacked and MD5 sums checked
package ‘tidyselect’ successfully unpacked and MD5 sums checked
package ‘car’ successfully unpacked and MD5 sums checked
package ‘generics’ successfully unpacked and MD5 sums checked
package ‘ggpubr’ successfully unpacked and MD5 sums checked
package ‘coin’ successfully unpacked and MD5 sums checked
package ‘testthat’ successfully unpacked and MD5 sums checked
package ‘spelling’ successfully unpacked and MD5 sums checked
package ‘rstatix’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\Windows 10\AppData\Local\Temp\RtmpYdcksG\downloaded_packages
installing the source package ‘emmeans’
trying URL 'https://cran.rstudio.com/src/contrib/emmeans_1.10.6.tar.gz'
Content type 'application/x-gzip' length 1522682 bytes (1.5 MB)
downloaded 1.5 MB
* installing *source* package 'emmeans' ...
** package 'emmeans' successfully unpacked and MD5 sums checked
** using staged installation
** R
** data
*** moving datasets to lazyload DB
** inst
** byte-compile and prepare package for lazy loading
** help
*** installing help indices
*** copying figures
** building package indices
** installing vignettes
** testing if installed package can be loaded from temporary location
** testing if installed package can be loaded from final location
** testing if installed package keeps a record of temporary installation path
* DONE (emmeans)
The downloaded source packages are in
‘C:\Users\Windows 10\AppData\Local\Temp\RtmpYdcksG\downloaded_packages’
library("rstatix")
Warning: package ‘rstatix’ was built under R version 4.4.2
Attaching package: ‘rstatix’
The following object is masked from ‘package:stats’:
filter
library(readxl)
bird_Ohio <- read_excel("C:/Users/Windows 10/Downloads/bird_Ohio.xlsx")
New names:
View(bird_Ohio)
library(readxl)
env_Ohio <- read_excel("C:/Users/Windows 10/Downloads/env_Ohio.xlsx")
New names:
View(env_Ohio)
library(vegan)
bird_Ohio
ncol(bird_Ohio)
[1] 49
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.8917399 2.5122269 2.5759511
[4] 2.5306341 2.5813695 2.5851922
[7] 2.8543118 2.6869090 2.6290101
[10] 2.4471082 2.4514742 2.6624436
[13] 2.4801533 2.4524231 2.4446459
[16] 2.5985159 2.1580650 2.0290131
[19] 2.3439848 2.3677896 2.6230152
[22] 2.1818266 2.3999167 2.3497389
[25] 2.1019228 2.1558323 2.1542864
[28] 2.2277483 2.3289428 1.8809617
[31] 2.4493401 2.3266446 2.2270348
[34] 1.9964440 2.0417370 2.4618897
[37] 2.1320689 2.2922720 1.5430953
[40] 2.0627115 2.6546098 2.3331170
[43] 1.7535317 1.8944254 1.9905828
[46] 1.8202840 1.7588983 1.2049611
[49] 2.1437307 2.0737966 1.6534827
[52] 2.1077805 1.9625262 1.7738141
[55] 2.0210011 1.8759969 1.4522335
[58] 1.5969316 1.4228140 2.2233828
[61] 1.6941131 2.2527933 1.4705667
[64] 1.4376671 1.6556983 2.0069460
[67] 1.7242396 1.6262868 1.9412633
[70] 1.2809809 1.3010760 1.5318794
[73] 1.5531853 1.5204937 1.7648837
[76] 1.6943305 1.7000499 1.3091997
[79] 1.5702975 1.3837769 1.3385135
[82] 1.4513903 0.9429183 1.4490505
[85] 1.7895111 1.9656594 1.5788314
[88] 1.5022623 1.4904512 1.4962931
[91] 1.4059042 1.6478061 1.2990656
[94] 1.0930459 1.5543977 1.7289643
[97] 1.6443609 1.5495614 1.4031313
[100] 1.7226377 1.8883235 1.9303606
[103] 1.4901640 1.5787674 1.5705318
[106] 1.4178638 1.2837894 1.5926701
[109] 1.6081552 1.4082954 1.2234179
[112] 1.2528753 1.3100790 1.4507992
[115] 1.2323738 1.3797947 1.7293521
[118] 1.4854109 1.4658616 0.9669648
[121] 1.1795715 1.3672704 1.5350481
[124] 1.3090028 1.2126036 1.3047201
[127] 1.2040135 1.3639687 1.1349332
[130] 1.4067959 1.2394246 1.3198667
[133] 1.1560033 1.2668167 1.3633187
[136] 1.7184293 1.4705114 1.4134997
[139] 1.1657677 1.4382794 1.6241226
[142] 0.9479850 0.7890530 1.4545973
[145] 1.4366209 1.3270892 1.1408832
[148] 0.9003295 0.9349969 1.1903317
[151] 1.5749987 1.5003813 1.0810697
[154] 1.5488876 1.5759803 0.9573217
[157] 1.2080605 1.1433944 1.0993195
[160] 1.1174376 1.1019272 0.9943400
[163] 1.0646499 1.6364990 1.2202461
[166] 1.3055935 1.2551904 1.3908337
[169] 1.5319849 0.9827985 0.9091475
[172] 1.3284004 1.0280144 1.0155201
[175] 0.8256294 1.1407526 1.1095773
[178] 0.9370976 1.1957853 0.9132408
[181] 0.9268789 0.9070407 0.9184634
[184] 1.0505849 1.1130730 1.1475092
[187] 0.8861070 1.1679846 1.3269686
[190] 1.4025824 0.7316835 1.0732068
[193] 1.0880649 0.8289934 0.8676827
[196] 1.1044350 1.0755235 1.0144104
[199] 1.1081660 1.0762302 1.0511711
[202] 0.9282779 1.2321592 0.7472004
[205] 0.8967415 0.9696155 0.4879819
[208] 1.2601278 1.2607309 1.0734488
simpson<-diversity(bird_Ohio, index = "simpson")
simpson
[1] 0.7923875 0.9023669 0.9141051
[4] 0.8955078 0.9112426 0.9100346
[7] 0.9286265 0.9171429 0.9131944
[10] 0.8927116 0.8897290 0.9137893
[13] 0.8793388 0.8758573 0.8830959
[16] 0.8967347 0.8536155 0.8264046
[19] 0.8624852 0.8617998 0.8762865
[22] 0.8433163 0.8526139 0.8573088
[25] 0.8130987 0.8250548 0.8136574
[28] 0.8264701 0.8491358 0.7441406
[31] 0.8553590 0.8238062 0.8106576
[34] 0.7780612 0.7801904 0.8531268
[37] 0.7831946 0.8068698 0.6477631
[40] 0.7808963 0.8616564 0.7890625
[43] 0.6954194 0.7339693 0.7269136
[46] 0.6911844 0.6822566 0.5081633
[49] 0.7527571 0.7694515 0.6567901
[52] 0.7160000 0.7361333 0.6479362
[55] 0.6747189 0.6863983 0.5658574
[58] 0.6459054 0.5912465 0.7710506
[61] 0.6341785 0.7706531 0.5559896
[64] 0.5789628 0.6272199 0.7150879
[67] 0.6403025 0.6024793 0.7088021
[70] 0.4988000 0.4968140 0.5861804
[73] 0.5995339 0.5778835 0.6374853
[76] 0.6346974 0.6039282 0.4959013
[79] 0.5915848 0.5347080 0.5234094
[82] 0.5429308 0.4238292 0.5318678
[85] 0.6617778 0.6964237 0.5921019
[88] 0.5775047 0.5791837 0.5853587
[91] 0.5223585 0.6010774 0.5181661
[94] 0.4416889 0.5807846 0.6220482
[97] 0.5677222 0.5565515 0.5220452
[100] 0.5952296 0.6635526 0.6503184
[103] 0.5207111 0.6158734 0.5447686
[106] 0.5379747 0.4695946 0.5760346
[109] 0.5821278 0.5175781 0.5051503
[112] 0.4630629 0.4962000 0.5478637
[115] 0.4671492 0.5235294 0.6090305
[118] 0.5106574 0.5185606 0.3701524
[121] 0.4405887 0.5040980 0.5602648
[124] 0.4785325 0.4391298 0.4572742
[127] 0.4574581 0.4963772 0.4396221
[130] 0.5037577 0.4670187 0.4978497
[133] 0.4104902 0.4898061 0.4876454
[136] 0.5769861 0.5051541 0.5225468
[139] 0.3938079 0.5078587 0.5466634
[142] 0.3572150 0.3180077 0.4964437
[145] 0.4751863 0.4889245 0.4303415
[148] 0.3341988 0.3763435 0.4262014
[151] 0.5111597 0.5117908 0.4075500
[154] 0.5420794 0.5161432 0.3428280
[157] 0.4343764 0.4120049 0.4084227
[160] 0.3921670 0.4009981 0.3344865
[163] 0.4009879 0.5320156 0.4317769
[166] 0.4590037 0.4250527 0.4708680
[169] 0.5338560 0.3637872 0.3495779
[172] 0.4747466 0.3657520 0.3795146
[175] 0.2896172 0.4219639 0.4203375
[178] 0.3414050 0.4325555 0.3431800
[181] 0.3372680 0.3009006 0.3442333
[184] 0.3724143 0.3960015 0.3812779
[187] 0.3234457 0.4113292 0.4541780
[190] 0.4803133 0.2576901 0.3719623
[193] 0.3935743 0.2681985 0.3192152
[196] 0.3765746 0.3795178 0.3771101
[199] 0.3910828 0.3889234 0.3824131
[202] 0.3371236 0.4337904 0.2852947
[205] 0.3188013 0.3529198 0.1674397
[208] 0.4239074 0.4304125 0.3842678
inv.simpson<-diversity(bird_Ohio, index = "invsimpson")
inv.simpson
[1] 4.816667 10.242424 11.642140
[4] 9.570093 11.266667 11.115385
[7] 14.010811 12.068966 11.520000
[10] 9.320675 9.068571 11.599483
[13] 8.287671 8.055249 8.554023
[16] 9.683794 6.831325 5.760522
[19] 7.271945 7.235880 8.083192
[22] 6.382284 6.784902 7.008138
[25] 5.350417 5.716075 5.366460
[28] 5.762696 6.628478 3.908397
[31] 6.913669 5.675570 5.281437
[34] 4.505747 4.549391 6.808596
[37] 4.612431 5.177854 2.838998
[40] 4.564050 7.228380 4.740741
[43] 3.283203 3.758965 3.661844
[46] 3.238179 3.147193 2.033195
[49] 4.044605 4.337483 2.913669
[52] 3.521127 3.789793 2.840394
[55] 3.074264 3.188759 2.303391
[58] 2.824104 2.446462 4.367778
[61] 2.733574 4.360207 2.252199
[64] 2.375087 2.682547 3.509854
[67] 2.780114 2.515593 3.434090
[70] 1.995211 1.987337 2.416512
[73] 2.497090 2.369014 2.758509
[76] 2.737457 2.524795 1.983739
[79] 2.448489 2.149188 2.098237
[82] 2.187852 1.735597 2.136149
[85] 2.956636 3.294065 2.451592
[88] 2.366890 2.376334 2.411723
[91] 2.093621 2.506752 2.075404
[94] 1.791116 2.385409 2.645840
[97] 2.313327 2.255053 2.092248
[100] 2.470536 2.972233 2.859744
[103] 2.086424 2.603309 2.196685
[106] 2.164384 1.885350 2.358683
[109] 2.393076 2.072874 2.020815
[112] 1.862416 1.984915 2.211722
[115] 1.876698 2.098765 2.557744
[118] 2.043558 2.077105 1.587686
[121] 1.787593 2.016527 2.274096
[124] 1.917665 1.782944 1.842551
[127] 1.843175 1.985613 1.784510
[130] 2.015144 1.876238 1.991436
[133] 1.696325 1.960039 1.951773
[136] 2.363989 2.020831 2.094446
[139] 1.649642 2.031937 2.205866
[142] 1.555730 1.466292 1.985875
[145] 1.905438 1.956658 1.755438
[148] 1.501950 1.603447 1.742772
[151] 2.045658 2.048302 1.687906
[154] 2.183785 2.066727 1.521672
[157] 1.767960 1.700695 1.690396
[160] 1.645189 1.669444 1.502599
[163] 1.669415 2.136824 1.759872
[166] 1.848441 1.739290 1.889888
[169] 2.145260 1.571801 1.537463
[172] 1.903843 1.576670 1.611642
[175] 1.407692 1.729996 1.725142
[178] 1.518384 1.762287 1.522487
[181] 1.508906 1.430412 1.524933
[184] 1.593408 1.655633 1.616235
[187] 1.478078 1.698742 1.832099
[190] 1.924236 1.347146 1.592261
[193] 1.649007 1.366491 1.468893
[196] 1.604041 1.611650 1.605420
[199] 1.642259 1.636456 1.619205
[202] 1.508577 1.766130 1.399178
[205] 1.468000 1.545403 1.201114
[208] 1.735832 1.755657 1.624083
fish.alp<-fisher.alpha(bird_Ohio)
fish.alp
[1] 5.642066 7.896600 6.488217
[4] 7.565648 7.896600 7.275326
[7] 11.680602 8.578491 7.703286
[10] 7.612305 7.916266 8.839863
[13] 9.316717 9.454690 7.814550
[16] 9.354043 4.970140 4.970140
[19] 6.781181 7.415136 11.156386
[22] 5.110244 9.198544 7.705935
[25] 5.389613 5.679263 6.377738
[28] 6.055108 6.765902 4.927590
[31] 7.224522 8.920683 7.027652
[34] 6.430958 5.381526 8.310228
[37] 6.891754 8.984035 3.690822
[40] 5.538659 11.970603 9.586698
[43] 4.350582 5.112918 6.765902
[46] 5.254828 4.718079 3.192559
[49] 7.976087 5.576450 3.718729
[52] 9.354332 5.646225 6.096825
[55] 10.837223 5.798205 4.212510
[58] 4.392532 3.217794 7.064403
[61] 4.829737 8.991549 4.986195
[64] 3.546422 4.711590 6.648249
[67] 5.988234 6.114229 6.065899
[70] 3.560586 3.546422 4.192993
[73] 5.427384 5.030672 5.726751
[76] 5.687885 6.259378 4.238987
[79] 4.858106 4.121275 3.717707
[82] 5.349775 1.659647 4.890459
[85] 4.931276 7.342929 5.082987
[88] 4.281400 4.257961 4.223961
[91] 4.342856 5.369842 3.173985
[94] 2.544462 4.545684 6.048954
[97] 7.602821 5.778996 5.414712
[100] 7.383522 6.606168 7.981444
[103] 7.105981 3.601971 6.964669
[106] 4.071694 4.557373 5.109555
[109] 5.469168 4.810390 3.335706
[112] 4.489371 4.415941 4.311580
[115] 4.062475 3.967505 6.848485
[118] 7.622560 6.259936 3.401558
[121] 4.396019 5.031600 5.661968
[124] 4.672620 5.506903 6.274631
[127] 3.935634 4.959159 3.588003
[130] 5.297514 3.882807 3.497519
[133] 5.042383 4.164308 5.639364
[136] 8.224130 6.763796 4.777415
[139] 5.769443 5.149475 7.797693
[142] 3.904973 2.305868 5.871991
[145] 7.955229 4.394232 3.450861
[148] 3.204387 2.846412 4.802582
[151] 8.995673 6.871785 3.756033
[154] 6.745033 8.446768 3.800210
[157] 4.713438 4.046218 4.379899
[160] 5.104476 4.033430 5.926942
[163] 4.014640 8.614307 5.345689
[166] 5.647828 6.075704 6.342263
[169] 6.915739 3.675202 2.750911
[172] 4.849896 4.653569 3.632950
[175] 3.708700 4.551192 3.574193
[178] 3.328464 4.513385 3.010270
[181] 3.314740 5.730437 3.296916
[184] 4.218990 4.513385 5.923958
[187] 3.292541 4.471297 6.113701
[190] 6.406272 3.014282 5.165024
[193] 4.453883 5.647828 2.957055
[196] 6.182347 4.772041 3.494964
[199] 4.741473 4.409155 4.409155
[202] 3.815290 4.655622 2.103496
[205] 3.815290 3.778652 2.415700
[208] 6.323830 5.950260 4.993876
Div.Ind<-cbind.data.frame(shannon, simpson, inv.simpson,fish.alp)
Div.Ind
summary(Div.Ind)
shannon simpson
Min. :0.488 Min. :0.1674
1st Qu.:1.171 1st Qu.:0.4272
Median :1.453 Median :0.5277
Mean :1.559 Mean :0.5678
3rd Qu.:1.891 3rd Qu.:0.6944
Max. :2.854 Max. :0.9286
inv.simpson fish.alp
Min. : 1.201 Min. : 1.660
1st Qu.: 1.746 1st Qu.: 4.214
Median : 2.117 Median : 5.112
Mean : 3.192 Mean : 5.521
3rd Qu.: 3.272 3rd Qu.: 6.638
Max. :14.011 Max. :11.971
env_Ohio
Ohio.env.Div<-cbind.data.frame(env_Ohio, Div.Ind)
Ohio.env.Div
library("rstatix")
Ohio.env.Div %>%
group_by(ELT) %>%
get_summary_stats(shannon, type = "mean_sd")
Ohio.env.Div %>%
group_by(ELT) %>%
get_summary_stats(simpson, type = "mean_sd")
Ohio.env.Div %>%
group_by(ELT) %>%
get_summary_stats(inv.simpson, type = "mean_sd")
Ohio.env.Div %>%
group_by(ELT) %>%
get_summary_stats(fish.alp, type = "mean_sd")
library("gridExtra")
library("ggplot2")
Shanon.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = shannon, fill = ELT)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
Simp.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = simpson, fill = ELT)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
InvSimp.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = inv.simpson, fill = ELT)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
Fish.ELT<-ggplot(Ohio.env.Div, aes(x = ELT, y = fish.alp, fill = ELT)) +
geom_boxplot() +
stat_summary(fun = mean, geom = "point", shape =21, size = 3, colour = "black", fill="yellow")
grid.arrange(Shanon.ELT, Simp.ELT, InvSimp.ELT, Fish.ELT,
nrow=2, ncol=2)

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

shannon_aov <- aov(Ohio.env.Div$shannon ~ Ohio.env.Div$ELT)
summary(shannon_aov)
Df Sum Sq Mean Sq
Ohio.env.Div$ELT 2 1.30 0.6482
Residuals 207 51.93 0.2509
F value Pr(>F)
Ohio.env.Div$ELT 2.584 0.0779 .
Residuals
---
Signif. codes:
0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’
0.1 ‘ ’ 1
simpson_aov <- aov(Ohio.env.Div$simpson ~ Ohio.env.Div$ELT)
summary(simpson_aov)
Df Sum Sq Mean Sq
Ohio.env.Div$ELT 2 0.146 0.07315
Residuals 207 6.514 0.03147
F value Pr(>F)
Ohio.env.Div$ELT 2.325 0.1
Residuals
inv.simpson_aov <- aov(Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)
summary(inv.simpson_aov)
Df Sum Sq Mean Sq
Ohio.env.Div$ELT 2 10.9 5.432
Residuals 207 1281.0 6.188
F value Pr(>F)
Ohio.env.Div$ELT 0.878 0.417
Residuals
fish.alp_aov <- aov(Ohio.env.Div$fish.alp ~ Ohio.env.Div$ELT)
summary(fish.alp_aov)
Df Sum Sq Mean Sq
Ohio.env.Div$ELT 2 13.2 6.610
Residuals 207 723.6 3.495
F value Pr(>F)
Ohio.env.Div$ELT 1.891 0.154
Residuals
distance_matrix<-vegdist(Ohio.env.Div[,10:10], method="bray", binary=FALSE)
adonis2(distance_matrix ~ ELT, data=Ohio.env.Div)
Permutation test for adonis under reduced model
Permutation: free
Number of permutations: 999
adonis2(formula = distance_matrix ~ ELT, data = Ohio.env.Div)
Df SumOfSqs R2 F
Model 2 0.1056 0.01964 2.0734
Residual 207 5.2698 0.98036
Total 209 5.3754 1.00000
Pr(>F)
Model 0.119
Residual
Total
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 = Ohio.env.Div$shannon ~ Ohio.env.Div$ELT)
$`Ohio.env.Div$ELT`
diff lwr upr
wm-do 0.13037032 -0.06959090 0.3303315
dm-do 0.17612817 -0.01947617 0.3717325
dm-wm 0.04575785 -0.17586744 0.2673832
p adj
wm-do 0.2748238
dm-do 0.0871606
dm-wm 0.8773715
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 = Ohio.env.Div$simpson ~ Ohio.env.Div$ELT)
$`Ohio.env.Div$ELT`
diff lwr upr
wm-do 0.03999172 -0.030825457 0.11080889
dm-do 0.06072189 -0.008552273 0.12999606
dm-wm 0.02073018 -0.057759428 0.09921978
p adj
wm-do 0.3784527
dm-do 0.0987988
dm-wm 0.8074071
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 = Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)
$`Ohio.env.Div$ELT`
diff lwr upr
do-wm 0.008178931 -0.9849209 1.001279
dm-wm 0.511205013 -0.5894887 1.611899
dm-do 0.503026083 -0.4684355 1.474488
p adj
do-wm 0.9997916
dm-wm 0.5173776
dm-do 0.4413130
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 = Ohio.env.Div$inv.simpson ~ Ohio.env.Div$ELT)
$`Ohio.env.Div$ELT`
diff lwr upr
do-wm 0.008178931 -0.9849209 1.001279
dm-wm 0.511205013 -0.5894887 1.611899
dm-do 0.503026083 -0.4684355 1.474488
p adj
do-wm 0.9997916
dm-wm 0.5173776
dm-do 0.4413130
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 = Ohio.env.Div$fish.alp ~ Ohio.env.Div$ELT)
$`Ohio.env.Div$ELT`
diff lwr upr
dm-do 0.49303208 -0.2370869 1.2231511
wm-do 0.51451175 -0.2318699 1.2608934
wm-dm 0.02147968 -0.8057660 0.8487254
p adj
dm-do 0.2504500
wm-do 0.2364382
wm-dm 0.9979307
shannon_Tukey_plot <- as.data.frame(shannon_Tukey$`Ohio.env.Div$ELT`)
shannon_Tukey_plot$comparison <- rownames(shannon_Tukey_plot)
shannon_Tukey_plot
simpson_Tukey_plot <- as.data.frame(simpson_Tukey$`Ohio.env.Div$ELT`)
simpson_Tukey_plot$comparison <- rownames(simpson_Tukey_plot)
simpson_Tukey_plot
inv.simpson_Tukey_plot <- as.data.frame(inv.simpson_Tukey$`Ohio.env.Div$ELT`)
inv.simpson_Tukey_plot$comparison <- rownames(inv.simpson_Tukey_plot)
inv.simpson_Tukey_plot
fish.alp_Tukey_plot <- as.data.frame(fish.alp_Tukey$`Ohio.env.Div$ELT`)
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 = "ELT 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 Simpson Diversity",
x = "ELT 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(inv.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 = "ELT 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 alpha Diversity",
x = "ELT 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.ELT,nrow=1, ncol=2)

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

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

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

LS0tDQp0aXRsZTogIlIgTm90ZWJvb2siDQpvdXRwdXQ6IGh0bWxfbm90ZWJvb2sNCi0tLQ0KDQpgYGB7cn0NCmluc3RhbGwucGFja2FnZXMoInJzdGF0aXgiLCBkZXBlbmRlbmNpZXMgPSBUUlVFKQ0KbGlicmFyeSgicnN0YXRpeCIpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KHJlYWR4bCkNCmJpcmRfT2hpbyA8LSByZWFkX2V4Y2VsKCJDOi9Vc2Vycy9XaW5kb3dzIDEwL0Rvd25sb2Fkcy9iaXJkX09oaW8ueGxzeCIpDQpWaWV3KGJpcmRfT2hpbykNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkocmVhZHhsKQ0KZW52X09oaW8gPC0gcmVhZF9leGNlbCgiQzovVXNlcnMvV2luZG93cyAxMC9Eb3dubG9hZHMvZW52X09oaW8ueGxzeCIpDQpWaWV3KGVudl9PaGlvKQ0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeSh2ZWdhbikNCmBgYA0KDQpgYGB7cn0NCmJpcmRfT2hpbw0KYGBgDQoNCmBgYHtyfQ0KbmNvbChiaXJkX09oaW8pDQpgYGANCg0KYGBge3J9DQpzcC5yaWNoPC1zcGVjbnVtYmVyKGJpcmRfT2hpbywgTUFSR0lOID0gMSkNCmFzLmRhdGEuZnJhbWUoc3AucmljaCkNCmBgYA0KDQpgYGB7cn0NCnNwLmV2ZW48LXNwZWNudW1iZXIoYmlyZF9PaGlvLE1BUkdJTj0yKQ0KYXMuZGF0YS5mcmFtZShzcC5ldmVuKQ0KYGBgDQoNCmBgYHtyfQ0Kc2hhbm5vbjwtZGl2ZXJzaXR5KGJpcmRfT2hpbywgaW5kZXggPSAic2hhbm5vbiIpDQpzaGFubm9uDQpgYGANCg0KYGBge3J9DQpzaW1wc29uPC1kaXZlcnNpdHkoYmlyZF9PaGlvLCBpbmRleCA9ICJzaW1wc29uIikNCnNpbXBzb24NCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uPC1kaXZlcnNpdHkoYmlyZF9PaGlvLCBpbmRleCA9ICJpbnZzaW1wc29uIikNCmludi5zaW1wc29uDQpgYGANCg0KYGBge3J9DQpmaXNoLmFscDwtZmlzaGVyLmFscGhhKGJpcmRfT2hpbykNCmZpc2guYWxwDQpgYGANCg0KYGBge3J9DQpEaXYuSW5kPC1jYmluZC5kYXRhLmZyYW1lKHNoYW5ub24sIHNpbXBzb24sIGludi5zaW1wc29uLGZpc2guYWxwKQ0KRGl2LkluZA0KYGBgDQoNCmBgYHtyfQ0Kc3VtbWFyeShEaXYuSW5kKQ0KYGBgDQoNCmBgYHtyfQ0KZW52X09oaW8NCmBgYA0KDQpgYGB7cn0NCk9oaW8uZW52LkRpdjwtY2JpbmQuZGF0YS5mcmFtZShlbnZfT2hpbywgRGl2LkluZCkNCk9oaW8uZW52LkRpdg0KYGBgDQoNCmBgYHtyfQ0KbGlicmFyeSgicnN0YXRpeCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKHNoYW5ub24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKHNpbXBzb24sIHR5cGUgPSAibWVhbl9zZCIpDQpgYGANCg0KYGBge3J9DQpPaGlvLmVudi5EaXYgJT4lDQogIGdyb3VwX2J5KEVMVCkgJT4lDQogIGdldF9zdW1tYXJ5X3N0YXRzKGludi5zaW1wc29uLCB0eXBlID0gIm1lYW5fc2QiKQ0KYGBgDQoNCmBgYHtyfQ0KT2hpby5lbnYuRGl2ICU+JQ0KICBncm91cF9ieShFTFQpICU+JQ0KICBnZXRfc3VtbWFyeV9zdGF0cyhmaXNoLmFscCwgdHlwZSA9ICJtZWFuX3NkIikNCmBgYA0KDQpgYGB7cn0NCmxpYnJhcnkoImdyaWRFeHRyYSIpDQpgYGANCg0KYGBge3J9DQpsaWJyYXJ5KCJnZ3Bsb3QyIikNCmBgYA0KDQpgYGB7cn0NClNoYW5vbi5FTFQ8LWdncGxvdChPaGlvLmVudi5EaXYsIGFlcyh4ID0gRUxULCB5ID0gc2hhbm5vbiwgZmlsbCA9IEVMVCkpICsNCiAgZ2VvbV9ib3hwbG90KCkgKyANCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9MjEsIHNpemUgPSAzLCBjb2xvdXIgPSAiYmxhY2siLCBmaWxsPSJ5ZWxsb3ciKQ0KDQpTaW1wLkVMVDwtZ2dwbG90KE9oaW8uZW52LkRpdiwgYWVzKHggPSBFTFQsIHkgPSBzaW1wc29uLCBmaWxsID0gRUxUKSkgKw0KICBnZW9tX2JveHBsb3QoKSArDQogIHN0YXRfc3VtbWFyeShmdW4gPSBtZWFuLCBnZW9tID0gInBvaW50Iiwgc2hhcGUgPTIxLCBzaXplID0gMywgY29sb3VyID0gImJsYWNrIiwgZmlsbD0ieWVsbG93IikNCg0KSW52U2ltcC5FTFQ8LWdncGxvdChPaGlvLmVudi5EaXYsIGFlcyh4ID0gRUxULCB5ID0gaW52LnNpbXBzb24sIGZpbGwgPSBFTFQpKSArDQogIGdlb21fYm94cGxvdCgpICArIA0KICBzdGF0X3N1bW1hcnkoZnVuID0gbWVhbiwgZ2VvbSA9ICJwb2ludCIsIHNoYXBlID0yMSwgc2l6ZSA9IDMsIGNvbG91ciA9ICJibGFjayIsIGZpbGw9InllbGxvdyIpDQoNCkZpc2guRUxUPC1nZ3Bsb3QoT2hpby5lbnYuRGl2LCBhZXMoeCA9IEVMVCwgeSA9IGZpc2guYWxwLCBmaWxsID0gRUxUKSkgKw0KICBnZW9tX2JveHBsb3QoKSAgKyANCiAgc3RhdF9zdW1tYXJ5KGZ1biA9IG1lYW4sIGdlb20gPSAicG9pbnQiLCBzaGFwZSA9MjEsIHNpemUgPSAzLCBjb2xvdXIgPSAiYmxhY2siLCBmaWxsPSJ5ZWxsb3ciKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKFNoYW5vbi5FTFQsIFNpbXAuRUxULCBJbnZTaW1wLkVMVCwgRmlzaC5FTFQsDQogICAgICAgICAgICAgbnJvdz0yLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpncmlkLmFycmFuZ2UoU2hhbm9uLkVMVCwgU2ltcC5FTFQsIEludlNpbXAuRUxULCBGaXNoLkVMVCwgbnJvdz0yLCBuY29sPTIpDQpgYGANCg0KYGBge3J9DQpzaGFubm9uX2FvdiA8LSBhb3YoT2hpby5lbnYuRGl2JHNoYW5ub24gfiBPaGlvLmVudi5EaXYkRUxUKQ0KDQpzdW1tYXJ5KHNoYW5ub25fYW92KQ0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9hb3YgPC0gYW92KE9oaW8uZW52LkRpdiRzaW1wc29uIH4gT2hpby5lbnYuRGl2JEVMVCkNCg0Kc3VtbWFyeShzaW1wc29uX2FvdikNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX2FvdiA8LSBhb3YoT2hpby5lbnYuRGl2JGludi5zaW1wc29uIH4gT2hpby5lbnYuRGl2JEVMVCkNCg0Kc3VtbWFyeShpbnYuc2ltcHNvbl9hb3YpDQpgYGANCg0KYGBge3J9DQpmaXNoLmFscF9hb3YgPC0gYW92KE9oaW8uZW52LkRpdiRmaXNoLmFscCB+IE9oaW8uZW52LkRpdiRFTFQpDQoNCnN1bW1hcnkoZmlzaC5hbHBfYW92KQ0KYGBgDQoNCmBgYHtyfQ0KZGlzdGFuY2VfbWF0cml4PC12ZWdkaXN0KE9oaW8uZW52LkRpdlssMTA6MTBdLCBtZXRob2Q9ImJyYXkiLCBiaW5hcnk9RkFMU0UpDQpgYGANCg0KYGBge3J9DQphZG9uaXMyKGRpc3RhbmNlX21hdHJpeCB+IEVMVCwgZGF0YT1PaGlvLmVudi5EaXYpDQpgYGANCg0KYGBge3J9DQpzaGFubm9uX1R1a2V5PC1UdWtleUhTRChzaGFubm9uX2FvdiwgY29uZi5sZXZlbD0uOTUsIG9yZGVyZWQgPSBUUlVFKQ0Kc2hhbm5vbl9UdWtleQ0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleTwtVHVrZXlIU0Qoc2ltcHNvbl9hb3YsIGNvbmYubGV2ZWw9Ljk1LCBvcmRlcmVkID0gVFJVRSkNCnNpbXBzb25fVHVrZXkNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX1R1a2V5PC1UdWtleUhTRChpbnYuc2ltcHNvbl9hb3YsIGNvbmYubGV2ZWw9Ljk1LCBvcmRlcmVkID0gVFJVRSkNCmludi5zaW1wc29uX1R1a2V5DQpgYGANCg0KYGBge3J9DQppbnYuc2ltcHNvbl9UdWtleTwtVHVrZXlIU0QoaW52LnNpbXBzb25fYW92LCBjb25mLmxldmVsPS45NSwgb3JkZXJlZCA9IFRSVUUpDQppbnYuc2ltcHNvbl9UdWtleQ0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXk8LVR1a2V5SFNEKGZpc2guYWxwX2FvdiwgY29uZi5sZXZlbD0uOTUsIG9yZGVyZWQgPSBUUlVFKQ0KZmlzaC5hbHBfVHVrZXkNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKHNoYW5ub25fVHVrZXkkYE9oaW8uZW52LkRpdiRFTFRgKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3QkY29tcGFyaXNvbiA8LSByb3duYW1lcyhzaGFubm9uX1R1a2V5X3Bsb3QpDQoNCnNoYW5ub25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleV9wbG90IDwtIGFzLmRhdGEuZnJhbWUoc2ltcHNvbl9UdWtleSRgT2hpby5lbnYuRGl2JEVMVGApDQoNCnNpbXBzb25fVHVrZXlfcGxvdCRjb21wYXJpc29uIDwtIHJvd25hbWVzKHNpbXBzb25fVHVrZXlfcGxvdCkNCg0Kc2ltcHNvbl9UdWtleV9wbG90DQpgYGANCg0KYGBge3J9DQppbnYuc2ltcHNvbl9UdWtleV9wbG90IDwtIGFzLmRhdGEuZnJhbWUoaW52LnNpbXBzb25fVHVrZXkkYE9oaW8uZW52LkRpdiRFTFRgKQ0KDQppbnYuc2ltcHNvbl9UdWtleV9wbG90JGNvbXBhcmlzb24gPC0gcm93bmFtZXMoaW52LnNpbXBzb25fVHVrZXlfcGxvdCkNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdA0KYGBgDQoNCmBgYHtyfQ0KZmlzaC5hbHBfVHVrZXlfcGxvdCA8LSBhcy5kYXRhLmZyYW1lKGZpc2guYWxwX1R1a2V5JGBPaGlvLmVudi5EaXYkRUxUYCkNCg0KZmlzaC5hbHBfVHVrZXlfcGxvdCRjb21wYXJpc29uIDwtIHJvd25hbWVzKGZpc2guYWxwX1R1a2V5X3Bsb3QpDQoNCmZpc2guYWxwX1R1a2V5X3Bsb3QNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHQ8LWdncGxvdChzaGFubm9uX1R1a2V5X3Bsb3QsIGFlcyh4ID0gY29tcGFyaXNvbiwgeSA9IGRpZmYpKSArDQogIGdlb21fcG9pbnQoKSArDQogIGdlb21fZXJyb3JiYXIoYWVzKHltaW4gPSBsd3IsIHltYXggPSB1cHIpLCB3aWR0aCA9IDAuMikgKw0KICBsYWJzKA0KICAgIHRpdGxlID0gIlR1a2V5IEhTRCBUZXN0IFJlc3VsdHMgZm9yIFNoYW5ub24gRGl2ZXJzaXR5IiwNCiAgICB4ID0gIkVMVCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0DQoNCmBgYA0KDQpgYGB7cn0NCnNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LXNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHQgKyANCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyANCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTAsIGxpbmV0eXBlPSJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKQ0KDQpzaGFubm9uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmDQpgYGANCg0KYGBge3J9DQpzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3Qoc2ltcHNvbl9UdWtleV9wbG90LCBhZXMoeCA9IGNvbXBhcmlzb24sIHkgPSBkaWZmKSkgKw0KICBnZW9tX3BvaW50KCkgKw0KICBnZW9tX2Vycm9yYmFyKGFlcyh5bWluID0gbHdyLCB5bWF4ID0gdXByKSwgd2lkdGggPSAwLjIpICsNCiAgbGFicygNCiAgICB0aXRsZSA9ICJUdWtleSBIU0QgVGVzdCBSZXN1bHRzIGZvciBTaW1wc29uIERpdmVyc2l0eSIsDQogICAgeCA9ICJFTFQgQ29tcGFyaXNvbiIsDQogICAgeSA9ICJQYWlyd2lzZSBEaWZmZXJlbmNlIGluIE1lYW4iDQogICkNCg0Kc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdA0KYGBgDQoNCmBgYHtyfQ0Kc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZjwtc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdCArIA0KICB0aGVtZShheGlzLnRleHQueCA9IGVsZW1lbnRfdGV4dChhbmdsZSA9IDQ1LCBoanVzdCA9IDEpKSArIA0KICBnZW9tX2hsaW5lKHlpbnRlcmNlcHQ9MCwgbGluZXR5cGU9ImRhc2hlZCIsIGNvbG9yID0gInJlZCIpDQoNCnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3QoaW52LnNpbXBzb25fVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgaW52LlNpbXBzb24gRGl2ZXJzaXR5IiwNCiAgICB4ID0gIkVMVCBDb21wYXJpc29uIiwNCiAgICB5ID0gIlBhaXJ3aXNlIERpZmZlcmVuY2UgaW4gTWVhbiINCiAgKQ0KDQppbnYuc2ltcHNvbl9UdWtleV9wbG90X3Jlc3VsdA0KYGBgDQoNCmBgYHtyfQ0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmY8LWludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0ICsgDQogIHRoZW1lKGF4aXMudGV4dC54ID0gZWxlbWVudF90ZXh0KGFuZ2xlID0gNDUsIGhqdXN0ID0gMSkpICsgDQogIGdlb21faGxpbmUoeWludGVyY2VwdD0wLCBsaW5ldHlwZT0iZGFzaGVkIiwgY29sb3IgPSAicmVkIikNCg0KaW52LnNpbXBzb25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYNCmBgYA0KDQpgYGB7cn0NCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0PC1nZ3Bsb3QoZmlzaC5hbHBfVHVrZXlfcGxvdCwgYWVzKHggPSBjb21wYXJpc29uLCB5ID0gZGlmZikpICsNCiAgZ2VvbV9wb2ludCgpICsNCiAgZ2VvbV9lcnJvcmJhcihhZXMoeW1pbiA9IGx3ciwgeW1heCA9IHVwciksIHdpZHRoID0gMC4yKSArDQogIGxhYnMoDQogICAgdGl0bGUgPSAiVHVrZXkgSFNEIFRlc3QgUmVzdWx0cyBmb3IgZmlzaCBhbHBoYSBEaXZlcnNpdHkiLA0KICAgIHggPSAiRUxUIENvbXBhcmlzb24iLA0KICAgIHkgPSAiUGFpcndpc2UgRGlmZmVyZW5jZSBpbiBNZWFuIg0KICApDQoNCmZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0DQpgYGANCg0KYGBge3J9DQpmaXNoLmFscF9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZjwtZmlzaC5hbHBfVHVrZXlfcGxvdF9yZXN1bHQgKyANCiAgdGhlbWUoYXhpcy50ZXh0LnggPSBlbGVtZW50X3RleHQoYW5nbGUgPSA0NSwgaGp1c3QgPSAxKSkgKyANCiAgZ2VvbV9obGluZSh5aW50ZXJjZXB0PTAsIGxpbmV0eXBlPSJkYXNoZWQiLCBjb2xvciA9ICJyZWQiKQ0KDQpmaXNoLmFscF9UdWtleV9wbG90X3Jlc3VsdF9tZWFuZGlmZg0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKHNoYW5ub25fVHVrZXlfcGxvdF9yZXN1bHRfbWVhbmRpZmYsU2hhbm9uLkVMVCxucm93PTEsIG5jb2w9MikNCmBgYA0KDQpgYGB7cn0NCmdyaWQuYXJyYW5nZShzaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLFNpbXAuRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKGludi5zaW1wc29uX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLEludlNpbXAuRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQoNCmBgYHtyfQ0KZ3JpZC5hcnJhbmdlKGZpc2guYWxwX1R1a2V5X3Bsb3RfcmVzdWx0X21lYW5kaWZmLEZpc2guRUxULG5yb3c9MSwgbmNvbD0yKQ0KYGBgDQo=