From cd69cebca87a0e389f88cfef744b1698a1a83681 Mon Sep 17 00:00:00 2001 From: Andrew Gene Brown Date: Mon, 13 Jan 2025 17:03:19 -0800 Subject: [PATCH] bump book --- Part1/packages.bib | 284 --- .../figure-html/unnamed-chunk-105-1.png | Bin 0 -> 30100 bytes ...hunk-106-2.png => unnamed-chunk-105-2.png} | Bin .../figure-html/unnamed-chunk-106-1.png | Bin 30100 -> 42815 bytes .../figure-html/unnamed-chunk-107-1.png | Bin 42815 -> 34740 bytes .../figure-html/unnamed-chunk-108-1.png | Bin 34740 -> 54508 bytes .../figure-html/unnamed-chunk-109-1.png | Bin 54508 -> 38899 bytes ...hunk-110-2.png => unnamed-chunk-109-2.png} | Bin .../figure-html/unnamed-chunk-110-1.png | Bin 38899 -> 71221 bytes .../figure-html/unnamed-chunk-111-1.png | Bin 71221 -> 44752 bytes .../figure-html/unnamed-chunk-112-1.png | Bin 44752 -> 54174 bytes .../figure-html/unnamed-chunk-113-1.png | Bin 54174 -> 0 bytes ...hunk-116-1.png => unnamed-chunk-115-1.png} | Bin ...hunk-144-1.png => unnamed-chunk-143-1.png} | Bin .../figure-html/unnamed-chunk-170-1.png | Bin 224017 -> 223864 bytes .../figure-html/unnamed-chunk-182-1.png | Bin 130874 -> 131061 bytes .../figure-html/unnamed-chunk-184-1.png | Bin 20381 -> 20450 bytes .../figure-html/unnamed-chunk-53-1.png | Bin 0 -> 42863 bytes .../figure-html/unnamed-chunk-54-1.png | Bin 42879 -> 0 bytes .../figure-html/unnamed-chunk-61-1.png | Bin 0 -> 42717 bytes .../figure-html/unnamed-chunk-62-1.png | Bin 42911 -> 40339 bytes .../figure-html/unnamed-chunk-63-1.png | Bin 40339 -> 0 bytes .../figure-html/unnamed-chunk-78-1.png | Bin 0 -> 21552 bytes ...-chunk-79-2.png => unnamed-chunk-78-2.png} | Bin .../figure-html/unnamed-chunk-79-1.png | Bin 21552 -> 146673 bytes .../figure-html/unnamed-chunk-80-1.png | Bin 146673 -> 0 bytes book/404.html | 126 +- book/data.html | 1334 +++++++------ book/eda.html | 860 ++++---- book/index.html | 128 +- book/intro.html | 758 +++---- book/reference-keys.txt | 21 +- book/references.html | 126 +- .../figure-html/unnamed-chunk-105-1.png | Bin 0 -> 30100 bytes ...hunk-106-2.png => unnamed-chunk-105-2.png} | Bin .../figure-html/unnamed-chunk-106-1.png | Bin 30100 -> 42815 bytes .../figure-html/unnamed-chunk-107-1.png | Bin 42815 -> 34740 bytes .../figure-html/unnamed-chunk-108-1.png | Bin 34740 -> 54508 bytes .../figure-html/unnamed-chunk-109-1.png | Bin 54508 -> 38899 bytes ...hunk-110-2.png => unnamed-chunk-109-2.png} | Bin .../figure-html/unnamed-chunk-110-1.png | Bin 38899 -> 71221 bytes .../figure-html/unnamed-chunk-111-1.png | Bin 71221 -> 44752 bytes .../figure-html/unnamed-chunk-112-1.png | Bin 44752 -> 54174 bytes .../figure-html/unnamed-chunk-113-1.png | Bin 54174 -> 0 bytes ...hunk-116-1.png => unnamed-chunk-115-1.png} | Bin ...hunk-144-1.png => unnamed-chunk-143-1.png} | Bin .../figure-html/unnamed-chunk-170-1.png | Bin 224017 -> 223864 bytes .../figure-html/unnamed-chunk-182-1.png | Bin 130874 -> 131061 bytes .../figure-html/unnamed-chunk-184-1.png | Bin 20381 -> 20450 bytes .../figure-html/unnamed-chunk-53-1.png | Bin 0 -> 42863 bytes .../figure-html/unnamed-chunk-54-1.png | Bin 42879 -> 0 bytes .../figure-html/unnamed-chunk-61-1.png | Bin 0 -> 42717 bytes .../figure-html/unnamed-chunk-62-1.png | Bin 42911 -> 40339 bytes .../figure-html/unnamed-chunk-63-1.png | Bin 40339 -> 0 bytes .../figure-html/unnamed-chunk-78-1.png | Bin 0 -> 21552 bytes ...-chunk-79-2.png => unnamed-chunk-78-2.png} | Bin .../figure-html/unnamed-chunk-79-1.png | Bin 21552 -> 146673 bytes .../figure-html/unnamed-chunk-80-1.png | Bin 146673 -> 0 bytes book/sampling.html | 498 ++--- book/search_index.json | 2 +- book/spatial.html | 1773 +++++++++-------- book/static-figures/ch1_rcmdr.png | Bin 51410 -> 0 bytes 62 files changed, 2845 insertions(+), 3065 deletions(-) create mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-105-1.png rename Part1/s4ssbook_files/figure-html/{unnamed-chunk-106-2.png => unnamed-chunk-105-2.png} (100%) rename Part1/s4ssbook_files/figure-html/{unnamed-chunk-110-2.png => unnamed-chunk-109-2.png} (100%) delete mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-113-1.png rename Part1/s4ssbook_files/figure-html/{unnamed-chunk-116-1.png => unnamed-chunk-115-1.png} (100%) rename Part1/s4ssbook_files/figure-html/{unnamed-chunk-144-1.png => unnamed-chunk-143-1.png} (100%) create mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-53-1.png delete mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-54-1.png create mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-61-1.png delete mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-63-1.png create mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-78-1.png rename Part1/s4ssbook_files/figure-html/{unnamed-chunk-79-2.png => unnamed-chunk-78-2.png} (100%) delete mode 100644 Part1/s4ssbook_files/figure-html/unnamed-chunk-80-1.png create mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-105-1.png rename book/s4ssbook_files/figure-html/{unnamed-chunk-106-2.png => unnamed-chunk-105-2.png} (100%) rename book/s4ssbook_files/figure-html/{unnamed-chunk-110-2.png => unnamed-chunk-109-2.png} (100%) delete mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-113-1.png rename book/s4ssbook_files/figure-html/{unnamed-chunk-116-1.png => unnamed-chunk-115-1.png} (100%) rename book/s4ssbook_files/figure-html/{unnamed-chunk-144-1.png => unnamed-chunk-143-1.png} (100%) create mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-53-1.png delete mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-54-1.png create mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-61-1.png delete mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-63-1.png create mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-78-1.png rename book/s4ssbook_files/figure-html/{unnamed-chunk-79-2.png => unnamed-chunk-78-2.png} (100%) delete mode 100644 book/s4ssbook_files/figure-html/unnamed-chunk-80-1.png delete mode 100644 book/static-figures/ch1_rcmdr.png diff --git a/Part1/packages.bib b/Part1/packages.bib index 8e0c6b9a..2049097c 100644 --- a/Part1/packages.bib +++ b/Part1/packages.bib @@ -1,11 +1,3 @@ -@Manual{R-aqp, - title = {aqp: Algorithms for Quantitative Pedology}, - author = {Dylan Beaudette and Pierre Roudier and Andrew Brown}, - note = {R package version 2.1.0}, - url = {https://github.com/ncss-tech/aqp}, - year = {2025}, -} - @Manual{R-base, title = {R: A Language and Environment for Statistical Computing}, author = {{R Core Team}}, @@ -23,63 +15,6 @@ @Manual{R-bookdown url = {https://github.com/rstudio/bookdown}, } -@Manual{R-circular, - title = {circular: Circular Statistics}, - author = {Ulric Lund and Claudio Agostinelli}, - year = {2024}, - note = {R package version 0.5-1}, - url = {https://CRAN.R-project.org/package=circular}, -} - -@Manual{R-clhs, - title = {clhs: Conditioned Latin Hypercube Sampling}, - author = {Pierre Roudier}, - year = {2021}, - note = {R package version 0.9.0}, - url = {https://github.com/pierreroudier/clhs/}, -} - -@Manual{R-diagram, - title = {diagram: Functions for Visualising Simple Graphs (Networks), Plotting -Flow Diagrams}, - author = {Karline Soetaert}, - year = {2020}, - note = {R package version 1.6.5}, - url = {https://CRAN.R-project.org/package=diagram}, -} - -@Manual{R-dplyr, - title = {dplyr: A Grammar of Data Manipulation}, - author = {Hadley Wickham and Romain François and Lionel Henry and Kirill Müller and Davis Vaughan}, - year = {2023}, - note = {R package version 1.1.4}, - url = {https://dplyr.tidyverse.org}, -} - -@Manual{R-exactextractr, - title = {exactextractr: Fast Extraction from Raster Datasets using Polygons}, - author = {{Daniel Baston}}, - year = {2023}, - note = {R package version 0.10.0}, - url = {https://isciences.gitlab.io/exactextractr/}, -} - -@Manual{R-GGally, - title = {GGally: Extension to ggplot2}, - author = {Barret Schloerke and Di Cook and Joseph Larmarange and Francois Briatte and Moritz Marbach and Edwin Thoen and Amos Elberg and Jason Crowley}, - year = {2024}, - note = {R package version 2.2.1}, - url = {https://ggobi.github.io/ggally/}, -} - -@Manual{R-ggplot2, - title = {ggplot2: Create Elegant Data Visualisations Using the Grammar of Graphics}, - author = {Hadley Wickham and Winston Chang and Lionel Henry and Thomas Lin Pedersen and Kohske Takahashi and Claus Wilke and Kara Woo and Hiroaki Yutani and Dewey Dunnington and Teun {van den Brand}}, - year = {2024}, - note = {R package version 3.5.1}, - url = {https://ggplot2.tidyverse.org}, -} - @Manual{R-knitr, title = {knitr: A General-Purpose Package for Dynamic Report Generation in R}, author = {Yihui Xie}, @@ -88,30 +23,6 @@ @Manual{R-knitr url = {https://yihui.org/knitr/}, } -@Manual{R-lattice, - title = {lattice: Trellis Graphics for R}, - author = {Deepayan Sarkar}, - year = {2024}, - note = {R package version 0.22-6}, - url = {https://lattice.r-forge.r-project.org/}, -} - -@Manual{R-mapview, - title = {mapview: Interactive Viewing of Spatial Data in R}, - author = {Tim Appelhans and Florian Detsch and Christoph Reudenbach and Stefan Woellauer}, - year = {2023}, - note = {R package version 2.11.2}, - url = {https://github.com/r-spatial/mapview}, -} - -@Manual{R-rJava, - title = {rJava: Low-Level R to Java Interface}, - author = {Simon Urbanek}, - year = {2024}, - note = {R package version 1.0-11}, - url = {http://www.rforge.net/rJava/}, -} - @Manual{R-rmarkdown, title = {rmarkdown: Dynamic Documents for R}, author = {JJ Allaire and Yihui Xie and Christophe Dervieux and Jonathan McPherson and Javier Luraschi and Kevin Ushey and Aron Atkins and Hadley Wickham and Joe Cheng and Winston Chang and Richard Iannone}, @@ -120,89 +31,6 @@ @Manual{R-rmarkdown url = {https://github.com/rstudio/rmarkdown}, } -@Manual{R-sf, - title = {sf: Simple Features for R}, - author = {Edzer Pebesma}, - year = {2024}, - note = {R package version 1.0-19}, - url = {https://r-spatial.github.io/sf/}, -} - -@Manual{R-shape, - title = {shape: Functions for Plotting Graphical Shapes, Colors}, - author = {Karline Soetaert}, - year = {2024}, - note = {R package version 1.4.6.1}, - url = {https://CRAN.R-project.org/package=shape}, -} - -@Manual{R-sharpshootR, - title = {sharpshootR: A Soil Survey Toolkit}, - author = {Dylan Beaudette and Jay Skovlin and Stephen Roecker and Andrew Brown}, - note = {R package version 2.3.2}, - url = {https://github.com/ncss-tech/sharpshootR}, - year = {2025}, -} - -@Manual{R-soilDB, - title = {soilDB: Soil Database Interface}, - author = {Dylan Beaudette and Jay Skovlin and Stephen Roecker and Andrew Brown}, - note = {R package version 2.8.7}, - url = {https://github.com/ncss-tech/soilDB/}, - year = {2025}, -} - -@Manual{R-soilReports, - title = {soilReports: R Markdown Reports and Convenience Functions for Soil Survey}, - author = {USDA-NRCS Soil Survey Staff}, - note = {R package version 0.8.2}, - url = {https://github.com/ncss-tech/soilReports}, - year = {2025}, -} - -@Manual{R-sp, - title = {sp: Classes and Methods for Spatial Data}, - author = {Edzer Pebesma and Roger Bivand}, - year = {2024}, - note = {R package version 2.1-4}, - url = {https://github.com/edzer/sp/}, -} - -@Manual{R-spcosa, - title = {spcosa: Spatial Coverage Sampling and Random Sampling from Compact -Geographical Strata}, - author = {Dennis Walvoort and Dick Brus and Jaap {de Gruijter}}, - year = {2023}, - note = {R package version 0.4-2}, - url = {https://git.wur.nl/Walvo001/spcosa}, -} - -@Manual{R-terra, - title = {terra: Spatial Data Analysis}, - author = {Robert J. Hijmans}, - year = {2024}, - note = {R package version 1.8-6}, - url = {https://rspatial.org/}, -} - -@Manual{R-tidyr, - title = {tidyr: Tidy Messy Data}, - author = {Hadley Wickham and Davis Vaughan and Maximilian Girlich}, - year = {2024}, - note = {R package version 1.3.1}, - url = {https://tidyr.tidyverse.org}, -} - -@Article{aqp2013, - title = {Algorithms for quantitative pedology: A toolkit for soil scientists}, - author = {{Beaudette} and {D.E.} and {Roudier} and {P.} and {O'Geen} and {A.T.}}, - journal = {Computers \& Geosciences}, - year = {2013}, - volume = {52}, - pages = {258-268}, - url = {http://dx.doi.org/10.1016/j.cageo.2012.10.020}, -} - @Book{bookdown2016, title = {bookdown: Authoring Books and Technical Documents with {R} Markdown}, author = {Yihui Xie}, @@ -213,28 +41,6 @@ @Book{bookdown2016 url = {https://bookdown.org/yihui/bookdown}, } -@Manual{circular2024, - title = {{R} package \texttt{circular}: Circular Statistics (version 0.5-1)}, - author = {Claudio Agostinelli and Ulric Lund}, - year = {2024}, - url = {https://CRAN.R-project.org/package=circular}, -} - -@Manual{clhs2011, - title = {clhs: a R package for conditioned Latin hypercube sampling.}, - author = {Pierre Roudier}, - year = {2011}, -} - -@Book{ggplot22016, - author = {Hadley Wickham}, - title = {ggplot2: Elegant Graphics for Data Analysis}, - publisher = {Springer-Verlag New York}, - year = {2016}, - isbn = {978-3-319-24277-4}, - url = {https://ggplot2.tidyverse.org}, -} - @Book{knitr2015, title = {Dynamic Documents with {R} and knitr}, author = {Yihui Xie}, @@ -256,16 +62,6 @@ @InCollection{knitr2014 note = {ISBN 978-1466561595}, } -@Book{lattice2008, - title = {Lattice: Multivariate Data Visualization with R}, - author = {Deepayan Sarkar}, - year = {2008}, - publisher = {Springer}, - address = {New York}, - isbn = {978-0-387-75968-5}, - url = {http://lmdvr.r-forge.r-project.org}, -} - @Book{rmarkdown2018, title = {R Markdown: The Definitive Guide}, author = {Yihui Xie and J.J. Allaire and Garrett Grolemund}, @@ -286,83 +82,3 @@ @Book{rmarkdown2020 url = {https://bookdown.org/yihui/rmarkdown-cookbook}, } -@Book{sf2023, - author = {Edzer Pebesma and Roger Bivand}, - title = {{Spatial Data Science: With applications in R}}, - year = {2023}, - publisher = {{Chapman and Hall/CRC}}, - url = {https://r-spatial.org/book/}, - doi = {10.1201/9780429459016}, -} - -@Article{sf2018, - author = {Edzer Pebesma}, - title = {{Simple Features for R: Standardized Support for Spatial Vector Data}}, - year = {2018}, - journal = {{The R Journal}}, - doi = {10.32614/RJ-2018-009}, - url = {https://doi.org/10.32614/RJ-2018-009}, - pages = {439--446}, - volume = {10}, - number = {1}, -} - -@Article{sp2005, - author = {Edzer J. Pebesma and Roger Bivand}, - title = {Classes and methods for spatial data in {R}}, - journal = {R News}, - year = {2005}, - volume = {5}, - number = {2}, - pages = {9--13}, - month = {November}, - url = {https://CRAN.R-project.org/doc/Rnews/}, -} - -@Book{sp2013, - author = {Roger S. Bivand and Edzer Pebesma and Virgilio Gomez-Rubio}, - title = {Applied spatial data analysis with {R}, Second edition}, - year = {2013}, - publisher = {Springer, NY}, - url = {https://asdar-book.org/}, -} - -@Book{spcosa2006, - title = {Sampling for Natural Resource Monitoring}, - author = {J. {de Gruijter} and D. Brus and M. Bierkens and M. Knotters}, - publisher = {Springer}, - address = {Berlin}, - year = {2006}, - doi = {10.1007/3-540-33161-1}, - isbn = {978-3-540-22486-0}, -} - -@Article{spcosa1999, - title = {A sampling scheme for estimating the mean extractable phosphorus concentration of fields for environmental regulation}, - author = {D. J. Brus and L. E. E. M. Spatjens and J. J. {de Gruijter}}, - journal = {Geoderma}, - year = {1999}, - volume = {89}, - pages = {129--148}, - doi = {10.1016/S0016-7061(98)00123-2}, -} - -@Article{spcosa2010, - title = {An R package for spatial coverage sampling and random sampling from compact geographical strata by k-means}, - author = {D. J. J. Walvoort and D. J. Brus and J. J. {de Gruijter}}, - journal = {Computers \& Geosciences}, - year = {2010}, - volume = {36}, - pages = {1261--1267}, - doi = {10.1016/j.cageo.2010.04.005}, -} - -@Book{spcosa2022, - title = {Spatial sampling with R}, - author = {D. J. Brus}, - publisher = {CRC Press}, - year = {2022}, - doi = {10.1201/9781003258940}, - url = {https://github.com/DickBrus/SpatialSamplingwithR}, -} - diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-105-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-105-1.png new file mode 100644 index 0000000000000000000000000000000000000000..4be06374adf85516313338a2f9bf20c70533a872 GIT binary patch literal 30100 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 literal 0 HcmV?d00001 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-106-2.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-105-2.png similarity index 100% rename from Part1/s4ssbook_files/figure-html/unnamed-chunk-106-2.png rename to Part1/s4ssbook_files/figure-html/unnamed-chunk-105-2.png diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-106-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-106-1.png index 4be06374adf85516313338a2f9bf20c70533a872..3bb377d133e0b61105fbb37143ccc54bb4a3ed5c 100644 GIT binary patch literal 42815 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 literal 30100 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-107-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-107-1.png index 3bb377d133e0b61105fbb37143ccc54bb4a3ed5c..7f939be41f55d20957a4bd16328a93260e9c6e08 100644 GIT binary patch literal 34740 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-108-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-108-1.png index 7f939be41f55d20957a4bd16328a93260e9c6e08..b53f200dddb9fbd9d249b7693b62146f298cb676 100644 GIT binary patch literal 54508 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 V_a$xlAj{6o`vc!Kmsf2$_& literal 54508 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 V_a$xlAj{6o`vc!Kmsf2$_& diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-111-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-111-1.png index 597085cad19916912754cfb7bf915bb79e34316d..6f7211a6818aa5549d650bd69b68a7a1c6e94735 100644 GIT binary patch literal 44752 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 literal 71221 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�IyKt2y_c5p$Us$>-#0J@n4FQR)#S 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 literal 44752 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-113-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-113-1.png deleted file mode 100644 index 7841658a317c05352586231412196694c4dfc4dc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 54174 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�IyKt2y_c5p$Us$>-#0J@n4FQR)#S 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-116-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-115-1.png similarity index 100% rename from Part1/s4ssbook_files/figure-html/unnamed-chunk-116-1.png rename to Part1/s4ssbook_files/figure-html/unnamed-chunk-115-1.png diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-144-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-143-1.png similarity index 100% rename from Part1/s4ssbook_files/figure-html/unnamed-chunk-144-1.png rename to Part1/s4ssbook_files/figure-html/unnamed-chunk-143-1.png diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-170-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-170-1.png index bcb9598c0bfa05c1c71290d36720051c0b076b09..f18e3548336ac33e460a6c4e5dfd2a5645c2e67f 100644 GIT binary patch literal 223864 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

_J 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 Qpa>u(d9@c+vS#o84@RZ0hyVZp literal 224017 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ΠtB>hmM|D;!OTl3>i>Hk{^f&ax1NX(8; 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 I%zrHQnf#!ZjXx^^%fp6SDCn?SOpo~;revgFPZ3 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 z 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

    hIUb}k>aUks~sD{=Se;%>rde?bDo9UdfM_6UL` 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
    )*PXWJ+i4P}`IfDAl7Z=Ph!`f=9z_eWHcEJPS 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-61-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-61-1.png new file mode 100644 index 0000000000000000000000000000000000000000..35bf3428cc99779c0ea63ea5931e22cc52882c4f GIT binary patch literal 42717 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%0A0TpzxZ1vfYp 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 literal 42911 zcmeFa2Uyct*DspHAjLul8%0ri5kZh13t**)G!alydXe5q6a_^E9aN;Fs5BuWy+%bu z#Q;ht6a}dv^iTpx?oI+KzRsNU-S6DMArL6P!SPet;I9yfDg zf{$n)(|&AKZNck~D){`)9o0MF9d}B5uh~IqivzM}4(vFK5Vg^gv;_mHf|shThAgc) z?dOi|9q=l&y@RtYEVL~I?^Lfd`~5AHg3VQtW?DB+$=y+f+_42O)jN#VV0c=mLh#?6 zLhz2eQ%Jpo!`;DAqrLSDZ6SrWs)cvJ%a;B<7!|YvKR8-L9C)V|QgMY;D(;Rd?v5?4 z5WMc-=wH*mr2SAq6Yz$kQm3Y-sD-wmDXjO8+(PFC_FxraJD*|PDgfvhfyull-} zoK+CfH%-4G;Da)2%ar@PpGEehm=>{eY0P_Zl1%&_b?A<*#Nhj+1Fb#XK8@inJ zY@bEs9eUpLXlJmNjS234P+=8*pySlUY$L^Fc7*u4d27!27!g^# z)vY6NX&{V!XWwI{^xhAxHy$|4B7`a>l8TZAvSb||cqAoABFN5qqGga>AzC&ZDV_l( z>_uJJf#dx>6y>(|YV(PvdEu925sz!-gY>FalFB=fJd^w>;p4jT86r)zP7k@^_B+625{QU7g|$%C z)EK-QLX3a!r6;n?F55VT{dRJshztyV`YV_zol-?m^gfbzPhkKKje9?E!GrBiFZtGf zRNY|z7Hl!ehun^)dOzM-cKrKD8Fvdm6voNYz&Y({`+>zE;%S0Bi@_S07greUl$;Hz ztu@StxuMZbnZK1XRpmYX^q>wKAnBEBMYSV(FZi{fTdqK~-ECoB;w%mA zXQdI-NXgkbP8UqeQdewmfye{-j!$bwzg}TV|86X0LnI@B)qoUU>P89Xa zd_!A>;4I(1kfV^QV*0;h0w!aSodxIF$Cb2Zdx>u~GN`pZO>_5p{KprJ+S6pqOyobG zoZS_&!@Xd>L|v3*t~{K6z%4_$Q8`s#k2fqF%gvHh-l-DVkxU7fQ&#Q^o?67T6Y17+J)!P@7oO_&ZNo~{67rCC(cwAS@o$C`NARjS$ z{XBKgGw*_SCdHR+^PSPG4NIs<(bpy#AreBAXIrKT^409k((~jZwUBkaC4NvxAE-Ax zz4D!JRpX?=;zZ_L*KlQ9naI*tpNRtga*3i?g8vn{MO=2b<1I|rIb5V_VD3BQ*Ve6% zJw(2Ar6`Iix16$wjV$#tbsvkg6_dSa-CI-nS*Fa<5WP^!M?89lOq>lgye3#N5&v3@ zyIs+`G-0!4h9`8di~fL=lk%N1OWw%%G&K|X$9mkyAGq3b&4g(m)7aEAxSa z>8-h47n->H{r4H5e4d}LbvV`@GymC5@iCuEpfj3#+h}3NLs_pF?YWAAI5kY+W|(!A=A*qxL4L_O1iO zEnTA={@vxo8-=^QwI`;7@ygg@@#?Qb=5yrZxpr`&9f(k^uEl6Svot$o5@(9xHJd?) zTM%rk!<8Ffu=-a%tZTsACykSd!!cWPr6Tr09c!w)Yov7QK0JXbYNZ^sTi@*V+`l%F zX;)k3xb;yHMAbR6=z3~#$#C}Y=rg#_rAe5gDqN|ceJnEdTXDjc>S)jGX z%h*jT_M@$%5b@>W(}nF{b}GBBYxF%-(w-L*ecUuhIiPf0EP$23qKQEHl&56~k-G9B zwXWC4pi}# zbVO#06pnBn%U~L!Zp$9AK8{}MKEXQrwU^1hnE6~l((!Fu1QqNR)k4mOY(HU_T;kSu zyeiXr5YJ7Hg0_e$un76n)0Z!glDhVZ=4B`wy6ngEqW@~2oN`-R z>r(VtA#~vSx;ulevaK4ZjzBG&+1p=%-553GUJtjQNgVRuvK>)o;{K_7jTvwKT+TZs ztcIsJ1wPQ0B3g7XRA_N@+%_lndQvnilYJ{{Y?m3YPjAOV9t-02r=y#u6{Ik3MliKv zFQ{V}&d0T2`uj9-lw6{6deOG{VQ=QrW$UuQU3mFU*GtI{V&a!NM=@^iYlTJnL8%1lqgbjjPV%%&EInatnz8ucI5VMHvfKMk?%}qs0ecv_M;rl5aODB;c zYDE&41iL1%A1-3#a}tgP+_f`HYmU3E=UTgnHHJf4eh9lX0ICPF0auq;ff%OWAvUb&hDDY6d$ai;4)_ z&TLRMR5K1k8|jx+U*Zg$b<7FqA-GO0dOnM@Wo9+ViwJD`Ui@_Qg!+fAU4}R7c6_v$ z*D5E^JS&S+V+&^KbJiJ@n8msTIlFo3-ap4%LkPe;`?S0CFIQK=Pjdd_ESiT=?~n(y z#?gmAT^%)@M=_LR$KCNunCVYDH)ZQ$Gy?}4G%sHV+VQ}%`uH+ZzzC_}x=O4bYIfsL z&QYqOJ4E_}iH5C2l?_)HR72Hj?%CWLg?O&E*Zr&winz~8m9Y*~O$F>T+j2`GOLYzJ zftiUr!HWu^@%HO|yzXgTBKBsrQfF$D7AJ1`2syXrQ^^P6_CCD2+X`qWaTc7!&xJK( zixCnt+reJ>e0g1R%&2Jl=A}nk&wJ-3$!oUMpu(*w!{Hde&;A6`hVs}zt%I|XUk}35 zjWDG9S=RCU)_D2ow+n}_8Ccem`_IklT{-8lnD&N1CI#v2X%1+If0sv8>VubZlhNJw$7MQZ+sKcu9}s$b zNGbH0()?EM5ma9au6|T!==oGtS9EGYHKMO*&fUnGx!f6BDQgFSl_Gx=& zjr2w5dhW8@YjKfXU|XQDrmZiz!>t3#xYNea4Y%qkdN(K+ERR!;+wE9i_&u?XvS)-7 zmNk~;)8hnIuz7PhOM{=>ggi{KjJ6*$IyR2--sM`E4a~VB@%y8;j_D&6%I;N^aekTn z7XNx=ls~0HWF7(?*?6te@@6`FRjhmox=tg+B-j&V!hvqP3jHZI8&ExA2?u?zd zqo%ml>wQ8KYlA()*ZSEeq!gAWOMT=~Zd~Gi7aup8p*1)X%paD)?Gk{LIPTKE7CF9Q z+<;HCQgzZ7|EULxlN*ak3ApRlaZ#hh)g;TRCf2f7tz&vgGIF1-L?E};@a=a^=X=Mq zhUYxKko(0RDEr}qwG%rFgeEx#Qc zaJUK~q&LFJU$l>3q39)1Zd_VK21g;@9&$%r^^(1cH=uTJ_dF?rh+b1##Mh_&q$_j$ z^hdwZnK}R2?tY)E?t;taic{oHKaUGWxa0S%rqA%vJ#nj%gti)J5i5$ z#D_xY#Z+z$xj447N?_!r4NmL(LvW^-o+xiIx;ac%<-DeOJwvA}@b=}$deq!DYHxR+ zc-piz<=JA><2sfOIR@!X+&8Q+52ZhRs=WE|yk31H3pApwtm%<;>GdNG*68kYU$0yD zh;YaoZu8M>KUgoXN>p{$d&ZyA4(*~6>J}rd@nj3)!>6}umfl{@`*xU}gs0@~~1`+bhw9ME2i2QjFd~?(*2+ zSczwpcS75sI4b@wEMF?3Nme#-}#7qPe66dkCX(N-WaOn$9`sYq0>CtTlvA9^jf)i#-{LppDXTx`C4lS z(fi>LtYYiD@)qNp!@j(YX6)xqZYmvgozZh)t6^zi4N$5cx_i3)@3!=h<|3iz;X z2cm*4EiTOwn%NVeJn`DBor*7G+94TH#gu+#sw~Ijt((v;;Bg|{VoO@J<34j0+)IVq z(@FD( zka*jBYU12!=xHp^00i2haHak<>ha((MfE9X%9z{wcM)c&UcDztecu)-rP~z6jMy5I zpcPNCFXv7>=p1W08Ofbu$vEx1E<>Jn6jTmWH3{MtoPr(@19C=q{fhC(r{;wP5P=CD z_V%u%{iu-`tJeJP_qPSz?>n#?U}R0@sBKzVN>h9{)pRdeK|NI9E#*X?;K9fTb<}_d z2hZ*ejaRv-3NLg+n0h(wEy$Za!+x32Nf&on;CA<2ZTEsT1z$K(>x^`o4U&z&C>LNI zi^;BtfmCBY+b9*1dpeP}UfUYqG`L0S`fFhgynMz@l`| zap~DJz_+4nYwuyd8O7)m&wwzD9b~q)JUNYL4?Wl#D3{%3#oesgI6gvk+_+^!h$7~P z^bX&4I`oMB{OL_2dmZ9Brau=2Wbu0QnnhUlV66#QnV=}1l-*iaqR%iX6$pC9yw*Ks z=FZy|0*#1+6Dl^ug!1-K@qzFiq7fBbdyvuBDcJRqvC(Pk8oHrf7B?reo^Ft%x4Qc)4M!-6V zf`{G3Iy@v{+pCW#Q>|6cT9jJi+n=s)2^zsZi0UC_AxZuE%sGU&?Qx+MbGoChTOz;S zz&-l}BI?iAZ(RGN$!1gfMt<6>MpCEA;mUAhk&pfr()|!?a?j@2K!*O!wLTD6rCZfv zfwY-Ld>*R)Yh42c+C@HDH9vm0k>+CkSp7MA3)s{zZXYGd@8+J)gR*d&D?64M$_{_=LroIVx%G-wfEeV{_brA)2On~WSsCHis<|Kh>vi&%JY#2m&ryf{eWAhFmc1sZ z*{H9%HjzPTC+xhSefEXTbNnNt>pEo+oHiooc|}I@MZTWnQ4`zmR%53;UxBG~!*OzI zznx7xK`{?3dO53!NPXKoc!5rL1v>volWclb7PNKJ1e8c!_>n2++z1qs(f@6@K$ek7xSK_-mWjGyK!*0E=$8X8a8o+ zhD|7JZGCt^=v6|*Ox)?Y_{5@OvIp*{ZO7ZC?i&Y9{feK|b&al#A8!A=N&ZT>#*oYO zgBsW=b);5ao2`Utf9kss!L9(m%HT1ft(;k#4AWQ#BKMCc!MiY%Y3T0myyiIG>(|9+ zj~(`v#w^(^1Y#&lC${P<$gn3z57$BC1RBUy*;p}xlxSO~u1vo@G_H$&Xf+Aq0VNcv zfk!1bk0{K?xnP?Ik!;_ploR(W2kky)s4gRPnd~{OfIZNQ<`-Aq^=J;&FJL$4D}6Tq zVq$scBTB~D+UY^6&DfdhV3=3u$yw2mk6Ul2S9iYK`?!I5_g$=gMPMyKwY#~sKT}!c ztVvf#7dM*PRKcWwsAp3{<%0LIU_V^RRj1;Ky6b~+Cj(1K9%9WtF?XE{8#Aq;=$Irb#E!+=XYMn`5wAg(@!r+77@ri zbJn`&?fw_^kbavS!jo=_6`$ZgZ!n4(R9srbeX~zE^X{!>)?=SrGuO*b`jijjG2`u_ zVp{`R`GtTcqQQM)<)2HQju-E6?cMA6?pmbnj`+{Y0dD@|e1VSGw5KjT*OSi|-fyn) zAL!PvrEsbT+|{ReQtd{>;+M|x=*;nk^HS7Fu(9BkGZOD}|FP))G9jCNOup2BtBBFt zJ9G~CEPZa+dNsW6LnD)Y4@yuSZ8Ifob|pLD?a4^~loGl|+9E&6fltgH9_TBU)4M%& z<5-Z-iThD#(FeITqd1A(-j3F__Mu-adTf}6hMtZdTbfr^J)Pw)GoYL!4~R~{K8PLE zSN=e*JuA~Osg^rnBrvofzqRU7#hD888EfZRve$!LH#ocX_h=#JdJiW}0nHCDtuOa~ z4V?6S(XPPYxLPma`N>Z^?OSZsHGC)mw-BQ@cN{$+C~9I;HAv>wyrd_}k@!cjG^498*4f%J-!kI#W)D1_`?%jvby{Oa}5VWQC425+SwB@?rmhh79b6$(q@~o@@i4YCv zsM6bN4R>*GC|Nn&Sw%Tj>z??Ozw74gMBepIi{(x+lvpc;GnpSQO0_5-bxba+(RoWZ zXBoy3v2e99d_KN46@Ffy=PuWjPw^IS!;Sv(mmvhfhN@%4swTaGofgE3V=DVmwu}W_ z>E4X4Zq(X{>1lrvBPO6XSMA$%uCnC7(_J2!OP$FQ@t)GY3Y8*<$@jZ)N&Ec1_}2pE zHc3-Xxo%#yIj2WEigkEZ|1wnC+Ze?$w6pbYoRwIt)ifn#!8v(P>{N_G5U{EK|=} z@+b5sKe(^;ll(Yy=*YF*lSv_zXXHx5GZ4{L>brb;4nc45Zj9sj@`&4R&tgH-|ZQf z55ww*Y%!0xk+yC0%tTUdt|za4dgDWGvDd?%;;%)s&O{-X;`#40Y4}gZc&3Uq-xPRN z2^A>1v(qWtf1G*gE;}y^2SU#_DSr3l;LbxHpQigGuc^K+c|qlr-VKMs-hVjG{4`gP z9R`nKv6;NYA&g2GEpcbvn%5$v*IjFcwUx~q)y279mT*%s1q3M(wqC5lCunHw_*^r0RZGIv52OyfFZz`xZ(STg;v% z%lZ=!+g&*+_8yx=*9WlouRZ2;Zob=s9g;Asp1*6gC!PDdEdv>WeoyIgv<#Nd{rouh z-SoNnhUV*O15dB~I`UW+vya9C`G~&gm55~OZ0*Qho9cB7M$?cwHly;2JhIDc;X>f8Fv@VA6Bw(|?|L^rF7rM`h^tU{98$0$B* zbduIRt%>i`T6?u7mMG0WM=IQITRroSSB@8wX(fM{^@ej~LJsgE(qSydkVh0-kf1A- z&dQhUl} z>NJbSU9%*6R}A%Zxgyi4*`I5@YK*7dAE~w{8L-}`zlhHdYOvQGLKUVuEEXsmyPy6z zqG)rrIV4!BZz~BiX*+R$Fg1BdCT}r2t)KrW#+v$N7DLH;Q0p2tiXE~@jTyd`WlUAO zdNiH!;^!anza%;cxldgDo>s?f?4Cs4qvJznX5YBW~Nr4b2QL?anphwNr3Zat&;ZynNAU0XaQ|^D#5VeBL)PV2Y%~Bd5E3 zVo$sliz#vZSiTUeOx$8=>8llJB)9Y|aMXJyd$M-sS^cb9GCA0;Ynd(g4dld|JinfS zrwi(P-|Zl^R9#S8E7;N4K+4A$Mx~DV#<}k;_;lOU&39&Rm5+jWX>$IWaev~LX2)BV zdqZNoizRccZq`eQoPu7JL>VyAHk5qZLl%~wt!MPaHrd+vjn8_o%FlLrq3HJJR?7Q& zu1!tgCC+P*PssD|6{;~p%Z{00#eKfn*Us1-ITD0^eZ#5-9Z5En+R{tP|)KzdbZsSk!(oxw8 zl{_|4u5mo}{22{r*-4P}pacar6=%MCl{ZkgUgDjx-~6}I>C`PWX=D>-5P(cgxDB}< zuB^3y3<#GfQd@i%$Y;l%JzHa}av0;+6QWu6X;|YXt^yUhxcln2sM|EAjNzomBZ(Ia zzAL9)R9^REC?<{(w|mo^DN|LLOkZiRf@g~giSoP6?|v?JtZYy#32}^#9(>T{w!u%~ zkd9q`L7yXi$7+l}46q$;CiDJARurT;a7eXgkFT}m{H3|}9`Cw_I3d%1H^n~5*^xKc zs3m1zqMI~xUy6V!owdR77)n)4vs<>H-AgV<$sePUw)U@w54A6bV<*g@q$W~cJ?ablg zVf!;K%#PYB5MSx(gM$|O_=>yzQPTL=Wuq8JyE7XwfT^=CKBgHI?;oe4mW{aWy)*)s zMMzQ>YJFCo;YWU3{Ce0Dt1u8y@31v0tMrvVGJT}XDVCrxV5PJOuYIF6Gb>Yw=@2jt zrHR_K5(atooc8j0z8cW-C}~YBlel^i(z4sdVS4gqw2$#5dq06wb1`@NJ~kXfG3eei z^1+(YX8FbMj0-=7xY(UBqfqL9Vy2GfC0g8hW@;P6Y zbtGLXNn3k^;P##`gYxns-S5MHNI08tQxDhR4g@Z*E`HtECR5gB5oR1p7k4YzO!-2B z`~9CPm)3(1^q`(jlA(Gps`N?zJjFB$Wa_k0w9+iW4R99lOLpV``d=@nC&=E0>i%R( zt`$2J27#bDJJG~6P->zZu%ABNp6SWLVv^ET-_~j|EsZ*<9SA_mo!EYppfU8#_!@t0 zdaJ3a$->#Bej5Vp01A9BESELVnY@U9ZH^eX;;lCJcAcrRbe{&*K9BvTh_g?I>nk-# zyEuhG)Az^9deXZ1^Uo2~wh_|JdsofK&!$KUL2pIwV^`rzLk zQlTjpP@;0kgss6gsy?&wOo;c=#cA0!_}s8VTz?+ow+VVDx!cHDp0K8peWTccz~-pn z@-B)2k=WNV`@Sd8S;ps$vL2YhaI4WVB@%gj^(;{_Z}Cm`Rxv z^t(nHSD#=bVy0h7HBsx=pbe{nr4qv$#ogPt&sl<9X)F9($350@Xnx+vZCyB3FY z-Z9Cxx2XM4FR!C(-i`0;ne5wH490ib!&#tzp&+aX6kHeq;}C{|`W=wn;N1kf3OVxg z!#fc8(AECJBCXLLmRwCmlMHs4SBu|?mQGvl8>ZHY8Eb%Hq|ZsT?t=4TNBp`beS4 z7>R(QFcl$=l;{T*S~#amc7r7Iv+;2v2)o;@e7k>ejWHi%!GEbXY2!AHqw8II^qF8@ z9UjX1zR0P7okjhPJ-D>jB8b78f7{h1z2aDC=Jfu3a394%2}IQG+R_~i<^w(-MkPXs zE_Q~Lg(!%?2H2_ImpLr7k0G#~5GdDIQ3Shh#TtREsaqWIA$yJ#t{89aAA5HPq6HmE z+!BZ+f6!-Xm=s3rlEp{-vbnCXnMpqAQI_9Fr3=6T%X-zt1WmSN;D9C1BDPhF0e5Mwi*DJ?Dr<#q$AmG+W)CwmV>g6(Ifrrr?36dvi zfOkfq^M@yUYVN8%H)GR88FrN-lmo86? zp&!wP9?wFa+;zuxf7F#yRS>zliNC#anc+6-#~hf2Den*z;67sT3~bNG|r{s--3BH|bEo|)oPYcMDRDH9|oY{p)S3xc46w6*;?#Q=Jq(MEYWh1tt zN0#9BfzLkn-l}gSatlZO{oMMf!dA)by7`>FA+Yb9j$@+RZnVzSCz>o4BY#w+b$_8|`4db0oba{?bmXMlIjd%VvB(>gbskUMLq$r#eVx z^*YzL75w9PC%_SJVRmQ{O2k__b;958YU(_(j|)AVtd_m(AJBEHqXeSL&KX&*fyO&` z!qYwD#(JIETZ>um9HWz<_KaGxpC*j(!J-NG`A<^;zbd%bg>wH zNEuxFhz)__5N3*mDf+#et$K_=MPA?@Aw^+CvEgM3wJ%>EM>*3sC^nHY$o!*m6Y||` zxGAuu(mK%}kE7HtjW&~qkzqg&z~9^FaRJ?tPaM~<2{h(O#%Sba+@x#ceX}FoGg`VJ zaDrXPH)jPpGmbQuoLdn7Q707&Ia6%p zm%rCYqSGy&V6aQrJZEi;x6CNqzIQW@r6G6IiAynrToj%A{OkNMG!UT6*GXN=2H>iNJ`#% zRT2W-)A1Y*G0kIU;&fPQ)rE$&YvH_8wvvQRlpa#d{l)Z8yp(W2VLZ?%t$OLLfp z`dkPa$C_n@V=e?1>v%!AyFnkBskv}|ap6SpmznsX z0*wGmA^w#Rb46aoWajj@zh!B7EMDnnog_O`PFld$rLY(E_n&7@QXuSku@Z98pRZ;QvyWePdD3ZDwraCH$u$|^^_=sK$VVH%EUcig@yo688|QuaO40~)dd>JlOQus_3WM%>OZIk;mU|-)A_m}5mKmfyqdtr(suz-a%?g6>%^Y<2qQ?{!(Q978dWH`` z-xt@rvjBHF$5ibs|47q}P@XtP%BGcoZxdTXi+8tWt3^pvk!doY+e__zYeC%BnkDdJ zo%eZCl%E+e_~6CB(Sn%7pO18DX7#r3!SlKO9QEyt(9|~&T7WCq%dxH*DlUqz8cQas z2&_4Xg0~SJnMV&0^r_)xj`ib@RRs$rsTRD|gKnHDfEorq2(Dz3y}kKf)!?$mTP)rv zsBYNugOc6kn0N7pnO0uZhhR3Qx3bY|_z1^t4p<((Vu?R_r`7+PjUKv|}T4qGoYWX@+6 zJmP|jZ(M0#2b=N8E5RjEqUS!gYW`?kHH;CblFZMLzXjy+7k2}I+IGxx~i@`tr%-7#kn^KR4-yVWd16Jz}Z;ikxq30QTnAlb#k_S zaS=aw&YftvDD%rg-oZ{07A5piogPYQ`vHD98c?vt=h4PAq=RNw0jtc-_({kb#tvy-V^0eG$goKNb(cBXY=|mlm$c?JwJt)IB(PS(W}bB3 z_d#|YttUmjQYhiQ^9XV~DYr|Y#O|^s+UJ#Q6J2tI-0D-atCe=?GRjy+f>s2dmCMLN#s1G zbBP&x65P&iu1x+6c9)LQu7H7d7SwN{A6t>8S{m^pY!=|G&cYP8l?*~wfrF=rLYnDI z--41_+OL3Moi7DjfeaIwlV%{YD>P+Ns+jL5w-U!`!&JgfX=J$W^Qecd=F^ClpMn42 z$-e25!cBlGaRjzaTJGewTb)7seRA>51Wz?<<&FNxV5Pt&rM7D$Kj<`~(P?@jYCkIS zwf)HjHX84$?#9c#m-VSAwYiVA%D?EYqs+$=_DFSA?Dbitlrf>WmCIIlt?5C-LgiPZ}XMfq%v#)^uC`+^}Q~H9vVW+du9uLu9=v&nS=r~o@ z^q}I=0nIgbe>2yZ3gZ6s^N)FtOzk{vE}z|$3AE8_U>K~+lh>?YtJ$;VV;90abo4y` z9~+4v)g5M?TU*PHRznn$E{}+nE*3M^V8_41{?`Dx#KKNc z2#TbBz|Ro}LFMP1rvB~PSHNpr2A~-G;`Px3Ks6Cr%FX;^=%Qp~j6ET&c)j%Ra7&uB zuOW|hIs3ORVv8RLe@uH^HL2gzE=aXi{Q-_TS2EXHjU5Orm{*shTDw-KE$Dds0cGNT zP$r#Jf!315+7b3EchxifVd5IOxo|@;!M!GPZre&NQluKTErs+UBG1HM$nG*%0 z<5C9uXpqn9v%@;@uEXJD=(#-DsYGe=Y(QR3dj2C1yM}Naaox6ny8PN#l5|kXARr&R zS02E%yL|PSe?gAUx=LpS@4GpWkW%+Kw;_qUqI260DJJ{88arcaSxf}Rx%=W--sQ}F z?^xV}&U4j&siiF=y7!Xa(2{Yk;VzkF8$=&&b&76(Sf2p#mfaZGI4bLi7Qlrp<4()P z0_>027={ZtV2XwA9xyT4bH+k%;iNJS1nDnFWn^ygIrCWZ>w%w}Nrw4}8zqxv*0yloL` zfirlTM>>1q5seexEso7Ji*FC2(!%alH<~h!kyf*-p`T@cH7y~Q%*QD`T0Zkd?_)_6}~NFFN#SAhc&Zoa@MImGON8z zy(gvY?=<)=F@-Z_nudn`apG?@=dC@#+~{cia*X;`%P1@6)!laQGtb+)J4-?eTfZ8d zAxpo&Zj@X`>wd6pg&Y8fUGU=a@@8tQ!P$+Eqm#p{n|%pI8;^f|KkA4ZW-%ao&E1GU z6{C-IOI{lVNo2Q*re(Pq+x#mqcMC2qt-K>wDY>~r=s`8sQ1{gr^$nEImuT61hPh|R z9|hD2bUznJSLZ2IA7I%8+X;m(BSefckz5D>0V0LFtf^xllqR+&SE}~z@Pi*-1KY`P zrxz1zA|MDh z++REG`-l!F|;DZ0n*h}+tg{RHq?4eoL8hf$xI zt{8mwXswWtd^NC;pVzYhZK_HHpof@Nfl!P(*wMn*3McAV zkk`-d*1Yu(h=(jsF;|VDr%zyi?dd3jz@NZ3`OE-o_A#Vf<|VDfl~F*~*n*VNIQY#W zZ9;`1rwjn5(4u}SwP4Iy(aunS-GW-OFbJTy1H`BC!$r@Tp?l(>jH-kv{ID7I#L2uk zHNQkA#&MwIg$2ARi+G}sS4n$ej&kl+g1Jv&K8pdI4jyh{YtZo_y_=p@?Wt^MWgJKb z-~!@OpdcmX3S^Ws*?n;pT8~JL3P#UZIAA+p>!UI?^1Dik#Urw)4`p7j>R0!RcI2(S zwb;(N41YEedy*)5_Bp10^8?ky0m*B5m+4hr%NQg}L+zJKeErD}Z)Rzoaq}rqZoQTr z5u^r+LEwk4BtrmHhqp#gj6ILM{F#2h7@#0Mo^2oPlXyD#ZLB@HR!%N%1Aauc&xO%1 z5$Kk^$ZW4Po4SfTkzbcLyK{)NbmbQX_&{ZjDh!alwQ5kwdMxgXaZ+9>CkI_OVdHRn%eh8{reY-2U>9IGF=?iF0m1|QmYOO*E!8>5pdSIWgn zTLPm0(Tj@(!Io}z3R=!AD_dqvowa>}k8(XNbozKtl?MAS;^jEbVdgK;Mkf9M^ROYw z;o7qb>sMs#6mcA2cd_??e>FHhJ)T0aY0VN5WUg4qNchVE00a!Ebt^!!W{s2V7s^R) zBARxW!gj$fD6XNEbYxO)jv2@H*QFF04-V{^Pu*nATxN4D##b&LMC;3Ya-2%IW>q`F z6|Eg?lQOW_UIE?L-eEY>wjW^yR-ow|HA-88U3>{gDI6M6 z<@DsIcL2(!S8@QLIB-Fxzt7F8?;%tAO z8vu}Vtxh;|K4m<6tDqOLi$ulRWu^7x>;lgudJT>UxWKR?v<%;^%&JR+dC1mjKOTA0 zL%*S_ODFUI0<~ij9Qog+7g%`T99S7^0ef}?`t(-G{fsm9r)Kb>iwJrR_>`6ABidw}|FTyQ;Q?LaP6U(}JuGFa7d-Qcn6mz;f+C1Jv> zv_GeqriB|Y(M!Qxcd(282J_JnLQphHt0${F@%=TUwronm_3LFr^11-;02X5e zKmqM4GO6**jDnKYr)U`s`cZDV9Of`kmX&f#hPJ0eb)f!srQC9ucHdy7)a*x5AYIs3 ziiuVV-qTFiy;w)=Bg`J{6GQjZW3qo_(t%t5%a8}jK@Tq{29fL2I`OIHh=@dxC6DK z+!#@SqZFcFm)*BIeyUH~Tiw~1QY0Bs-?IZ@_z!egfXf|LxVo3c=E&mN6p&M=x@lTy zkbPwKvly&r9GTxr<9~I?Pg5=K1zr&xQ`*7nwJT71bkV&rSMVQq zV&pLDL3Mn=n)@H~oFh@&5qJM#2Li)ieZ;>SLnD0wF(kacbu&M>bd~#SkH4mQQj#%e zsFa)N_;4=GAY{d$JT{F{Mz`Ww13W^5&4#f5Dd8TqKwnq;hm~NIY}rX5dfd>u!5y9P z1*CHFF==_(HS1O?Cki|_FByBkbt)-gJ#ThOc`YdHru%I_!b`Gm2jFzzp^_?k=$N1=@d9ss=09mds#^i zNIWRpo9u(pFO#!B=zm$qGiQbrEmxS_(C9!Ov+=`Y*hG4v~rIy*bxk@}*zm;L{EF)j~Dzi75yMtRS)C!Mju#8j_y*Sg!cH zVKLcHs>z`QOn-Y^!d`RQLzVwr)8HXFWwnT-(2mhb^X8aZbgx{z?`AVFqu^8YPO<+a z!dl@Pqj}gZ@3WI;a3KP-rrEtM$Sv z-~HEnoGMPx%qO-3lDpxI>cC%uomF=+?Zgo`b^IhV9DbJnN&F5d{!p{a;x3NJ8rT?i z|IMc#7dK6Qg_nPb-M?KJaTgRDg6Dm#sxs`$dgXe6 za4@Skt0n9xaOdb~@`~?8Hy%m3kP2yV&3}wh;OaT6pREDHZJp={111L8u^e^PPjIx! z^*HMV$r`V~Wf8uPnRZm;3TQh zl&C!cFwmcKqTa9?!~W`byky?`#ssC=X&m*&EYQF~tshBfG~`_7jX1bR1(3>BcP6#K zKW)(dyMs;N?-WLmtX^1^a8(le!DDanbEk7s2z@JxS;aMD;-*^!B(W7#V$<2aJT$mP zm8?#$1a1aZgp9pdC3~R$Yb6^+cc^~}WPx?~uQl~~RLK9JJVa|csk=flBCCB|6Sji7 z-x^_r){L}}kE_g-bBFtbX5VCr;zCyqDCDE3g22^AdaMnK6ls;S0|PHXn#xVc0~t*8 zW)X5#=spAgbIaMu16jS%8HwsQM+EccTBCb{c~-Iwo0?aEL0ZAM3j?eRNS~pVj61U5 z^cFls9s*@=3c`#Vn=23&Eo~A3s?9rm9>kM1oY*@$Pb1qk&)M(wjc5=7l7dAso}@tM z&~ivUw=E?;n<<;xrEW9%Eyw>&0}k)lYQXnrN(g6|e7GHjPV-t9DDfz<$5)b~%n#B+ z;uUP4v002*NewphGCxtfB+bs982%-Aq~@qr&~$I9IGU-J|Bnb9jr?t}#r}A#x#rUu z^-hgN&xL;N!56J%w`yMfnIM<{2y>C&TKDvrH~h^W0@zNaw}6&JzY3D*nZDyyx0HY6 z16Raqx$b`_qP7>?arxuHbG0K!Ul1P2!Np;#VE1JX{s(f0)tTy7ra{(7U@#Z!yDLQ12bF7el(2imkLfx-`CEcv~rqBDgK92QXro*t*sPbZtWd5 zx+-X4La^&oPo@}j8>e9VqrKGw=yjFpV-_G9GdW1b+~$Ne-1d(jIYo!f0yu;G7}dBs z1DW4_IR~W&YE{4VMBe9f4yYbjvLm4AI$~k>aBy>wk^HokgZdHZY|;HSsvVtSBA{o9V!?U!lEk=Z^qmG`G#bh#(`|eN@$J`c2lyOlveyy!*8^ddvUqVELM88P4b{ z4P!I-Ew?OmzsX)BzO!4Tu`bwL9JbxV2kgpXuJp^zLVsSqptjhDxG?5~Nn8L{BL3Lz z;5*}!TjsmS1Mqk9%N&-8%Wor(pL72-V7J=6nqeFA{>oVvhRo7L;;xi|bgJF8Ni66P zC%TVtD6XOaspG&^3)4CHeLDTs039@Mq=b0h@OOd)1xtNA<>NlpgS<+c88VhHn7iy* zH-(0mGqVN)o1|9!dVV{S4C~J9AZK<+HN1nxN8#Y);F;jbNg|Lhqqd+avDI@oxp_A? zmWs=5H}{=%utbmyW*8^tv(8qSIvD_ZE5@g?+`t$JmN}Fz_HizR8N$0>x3_H?ZWXQx zvNuq2EuSTgna8bC!s8A=8%X2lZbuk6)uSmw9jQCG^8kD+JRkpkriXf!Hec#r6igfE zGaI#Iu?%W7pbfEA5{Z0+o!uE!;yaSVh(4|`i5AqJSjoI-4%jQ45d%dD1wA`;By}e3 zynjSc&f#lpW`X8$1W7C8DTtI`=x3kL(J~68hb?7>9))jSXhxN0CYY=Yj z8xpB;H`R5_#9#{tseKm@ePK}+5(Y3nK4~<@w!t)>O>scY%SzQcBs-_&62R8oGRpxY zwDr`%2nmP_BP;$nUdV4!r4>vxjo_G$wIFoEHn5AL@!0mh+S+&IV;HCbLRlJ9Vu`<^ zIxf6$8RCxE@;f}*dz$JpuQ>HjpCq_cPuQv+N2rdqnzF{o56!~TyTU>r47z`O8Y^6b|8kXtlAdMsdxTMRa`X4CkH1=`b~u{{qPRi~n* zmRM2p>wBxyT|ucv4O0%4p^mj3W4kLr^b` zWoE)?g>#xlmFZOv?C8wlX)EOmWsJHRIf z9Y}P8sk@DQO6;E|%lyNIFYseO)VQ{^uXy_bL8bW4c4nFiO^b8h-c6nZ?*q>)fP*ZC zi_gu;VPY9+_m%W3Ep#!+w=&lgEc@B4C#sAFiatO2Do}F!w{-nKzleYHed_;l2z9o&dFB1WT80i{2U+ zWaJ6f@!|;+EBw9vKvkF>tER0;f=N_;N@B2-gO<>|InjdxOPz{8T^WSL`!EES?9RC|uGNdRG|rJN#mNP=cb4lM~1Inm31hRQ1N z{byFWa(MsGtyM82uASDTRG9f3(tX%!*SAI-aI-j%g3)}T9m)O)7%K?ly~`#glG!%T zwsMdyFyHKJHRJrmb_2^?M2u_ykw^`e9@^EF;EUhp_;5As;$3m1YWNXCH zcj8z&x0PdWB8Pg-F-mqn8L-PIW-LK4_ExMm&4lHC2<&PMw>ef+KOlGby&pT`)L+0s zAuvx4!4(*Ld=by>F~?>^@JLj90lapz*kV~VU!xJi!a0FQsWw6|#;BACxb-b^Xi=?V z+x*%doS5BYp76pZ^E-kN%b^g1$4XSubFG&)jV%-F$_cPa$`SdCJI2v|4%wA8u?oSjizmP0)y|=uwIKe6TEFA$i5Ig_~Olg!oVlM?C--?}004fR; z)0W)asdHlj{yu=WWMZ`S!{yWh;H@|!bG~l5feuV5X5imXKQo^hX%E$mvX{D3crqy) zb#=$F5P+TTPi=}M3sL!L%n{ypq1;}8f!=L{B;gDXACIC#dy2xS>R6JLk}HY%Z23t^ zJCL{tZ*{=}R*a74<}nN~XE<#KOW*TvOMFR6C+PDCR&xO%*!I)IN+l5Mi<)E`Mul7$xVy%cBOU5XXS-NZu%^c^sGPHs zh8)IF04gA!67Qi?zUbxmg#f7F89Us*#}C@N!DiN6nY;=JGN!LCoO>&Qt|nLI?``3n zTn?M2*i$9da_2cQ+LHH=!0@;|IC(|xyq^(t`^`Z43p%?)77GL`fXM(^3i>`&4E*j^ zJt?7||1~C=@ZQDv%u$5$8vYdS2Fo%&z~v{RqlhILo@*ClK5m;8Lc<*KmM6P<@EAf_ zf_s{HEGrtgp^<&41i++rBq3N&%>^x|g~E$$-3* z>rfgf(4s4B-i~;>W_X0os?c(Xhb1xXtplz%ve$PHmmbAtnS1cVu2B7oWjJtJuC7kDhHc=orV^~&hT5=9W)1L+kP z=Czu{`6i`84YEz>0EjhM^SVIYIP$m3tqLcHj0F}zD}19Dn$&=Ry-v*$5rnY3 zDUc&rEA)F)N=aX)>RCQci zh@rv7Hw!I$*$o%%*~E-eB1N#d$HN;CGfaQpv^azj1!&evGHzAFM&a|YsxiiL>ldV0Z;~90+(>XazA>As&nMh?!mLTR-{^c=4m4II{R6; z9u-&-57ev5-=Zv0hD6rs*!N<+E>@)LwU&C`2UyQ|J^HZkbbbHJAzkJp=4CYfoXt9} z&*7L9(67sEr;X7Ey+x{Mk_m)<};K z{3|VQFka01o#rB8&eeZhX>S}|IoBHdeWt!J4BiXzQO2{@@H5e(A^*kAD#Xu$U8H02Tw#8?aLYB!~m% zEc)Dw@_Hc_H{|uA@8N9I06fMfaV(%^+UFcO_*XBKZ?Gu0%n42_?U9jpx52Sg`PmrL zse=-1I`9HWw&+llO%Rl5j1PQ6z)z6We{*<@85(Z|R9vL8RMd|(1gsyXlr@4+B?{K` zb^doxst2(YG4`Dt?>tlG`bxSW+mmTj^FN()1mdzX$pKEP9jPP3Gq&E&Z(N@AIqeXkOG1bnbp*c!#d2EF^DZ0lzCi_tARC8Gg^S?ec=T?{(eAS}& z1|8X)nD-|?z1YI$$r4)TqE1U9kbiY1@ozj_z+Qvri)_LK&%dLuVb1ui{#c0*pXQ*` zKp)!q1aW+p;Ge(AY7Pnl${nRxfZ1|Tzx)zbDYd;4Azv``x)?*w!M;!1&?gHJX%Gk! zqFS9=l!E9~DbWdWkbqp8!2vLxz1zE}pJi19FdsF)M1=*j)7Vg_-Gru%}R< ziUTyH{Li}p!grtJPp*I& zSosX0Z0y_S8{TcuIy%UgfigQ43I{G~1;pj*Y$_~-#U2duT~q9aH)*#Jy(-9=EcX+{ z4V2O?`(;LZkY_?R=qM?=mw=q3do?D}t?IMD7&kL0vPSUqH`I(oM( zZ{~8(U8pPaPMZNwR)91Z?Uvx+$EpRd(&53AeRktk1=!i?nU5HU!psC>|LKS>8?g82 zBQ{*nNg>#JvjFa?2M(SayT(-iHup(=rU`qd3DOF%%$`)c5HQiKq%HMD_k9G&HGe&q z>Qr1xx@I#TpNC{M0AP8PN@>}=2SAyZ5NV4lloB-IxBhj`S_OgwymmJmcO5no%m9UU zmY&^nvfX%DKBXWMM{X7M#%JtSb6<9K=Sz=`AW1ti#KOjg6T<@5n-H^9$2s*D`}4zj z=hWZS&tu$LN0g{4Hr+iQk}|o=uCTlPz zN?~N3`{poK?<=~Dbrkv2u1#)|)n(RvN9Lnb>^Zi9H?<%X#W%V~SL5UqJ#v3tXPnCA z=!&n9f4vjc_;9hSjG)xY9G~p2OFx?g;(*^afNnRIT$XwwM;Q&I5adp*UBuA?2R)2cMXF_%s3j|)0+j6};09LLww&&10 zKOCqqAcY9tmJ>h0{@M7 z@WoE}CD7%6hWoDshW}U1F1I#!gPjwYECTzi+yKb8t%f}MkxL|ye1o^JfH`(f0X`M5 z1-k7S?CggH*p4the`K*_$0`i$hRnfb*Ei~diUH{Ahl05@|sVLK_H5er~tROLf*-zyU27^`)KQ;#s>8^jYT zF_JH2kR0~AP>qX+wyRX0Tky4f%UihU{i~NuR3bDhuM-Ys<=^bh0bG_UP*%uj92K^_ z&CGtEkqKdcS%eK{f%1iRaQDW9O!n>zK7R%fCu&)Tt>i~k_&D>7p~s3JlkL>0n1PF) zA{TL#SrI6nIN53I+hJO(9{lt`Dd_iNH6PgbzA6f`b|iMgk~w@~U>nX^T7+y{a|0O&OzzK)qI3pJ(;ZaAI#D-Ag2ysz6^@>;@Sk4C>`OSx<9>0z9dBNsB^u z5|5$7@Fo5WR-^hE)|mL=Hc6TM+5~??h$a~`Av|rkX3He%9yTAYFlbCvwhe&9_`fxM z%|bLmuI?aQ)58Q=#7$l1JKAjSQ9(@b1Sry( zo<-c^_qqe-EWOZWZUk8=aSMfpUq&mWw<0^=*-4&`s?0j=;?0}lp))pa$P?`+JCzd@ z%KNBNt=7HT{fk7Hm0E*>aLrSw=b1t4XFJkfCT_mW8*}DKa&}_0ht6crfLshbuZZ5v zxTLIyGC_X;H-62efE(9&MrE#ieM;%W{JltsE&Yz^ExcQ^P7p>ly`5XbOmWW2L7o)ATSS_JxW- z8l%Pa$(#twY1ISa8-*P(o0EcdkL6D7?=cKe6`Aflaq8CfP)PRElWD=%`DA-VYJvlG zjqP4bmF+Tk14IoF39usLr4WPwQD%{gyzCjR`FIba5YK*tLo= z`B)Zm9|2NH*JuEJa39dqw=W0vT}}DJ^6N~u6~;LA zV(V2?70{-Hq-4%Eo=t2ovJV_TjWJd_fdXGeI9|3^!e-Avfbmh)?74Ao)NTJ>1;fIY z0=t>*_#D-DH)B5=@=geQ=XyGp-a_0fxTrgiw8%K2mM#i*nLJ*N?I#7Ad3_A;>t_Rdb>;1<@Wasj9O_1-r-HO59$ru z6iB}H{Nyb)27@Ab=cKlQw(VivP@C02%;$aQJ!z9Cbt%kuqTaNy$IN>L-Okqz+Z;QC z?GT9^lgl*;z#7g}zb}5-A^YfNLr~}^8#+191j#>A{t}1+UJssgoBVjjhvZ|iY9o1L zE6`fJBKDBe{|F#on?4)w-gkC!FLCp+CV%gJKkvKUKt(9uCvkp9VcYiluDHmqEC<=( z#H)FS3cav5yKd7W!wdX+Aae)5?HxNOfNid&%33^5t}%TYuHv=wz!Y{W`R2x;S5qRP z?PzQNthp|!`DmLY1+3vnS+R(J^0s!}_cNV>=epOrCYlHYPxlt?FGI~m@LfhV4}xKT zG%>i@D}%G1^yr!{qdSb*L%ptEYo>*u9*|`7GIXE%&z0&B^R2{B#on>nYiH|+g(j*9 z36PCa13zI3rkw6YMET9XIt=%N-`wbd>*_81kk)pnVTvj{+q%o`q($$T&r!qObuu1i(A7V{QatGuj-C_q*7`8iF&aE(>HHO zjz+IaFJwwx5UvzD6jyQxhARyhs-f3vZ--UD%E}$(^|n5Gmol3CB6eLN^^y34_PDdN z8IW0HgeX0#g=t#YSNNHio)c~PTr52MI?bfMBjBv*Dw)#cN0g@cs`_WpwFWZ- z4Qu`DLx_$~pYWJsc<7!>wo?jImrM|*VTmwtD}$s`ey{ySX8w=%$KH_KcvS6*UbOUZ zDWffpv>Epo&$Llgd7_atfa*@Y!bao^pTy~*!}P?}PwczSk%DzJfy8C&RmEM2*}4;`UPXSj z*oJQcK62$n!(oqx8w>kFtP~p4A}IU)<}0JOhDi@A@;U_(#lo0yfMAMDv)8Xlj)yX&PC?YfKn@s3g7@y@8IF?5gQ$}^un z!dIa;7f2?Qq!f!MC|$x*sg7P?&cdn@DfRW46|B6_J*qS5sav z^fR6b(dOm{8V>t+j5?2x!Tv6oaN*(Mn=m}0e>!H}6T)uO3gtHVDltEA<;;a{SIkI* z6Ts~v9zX0xK6F5)tdA+4un4xA^K9@Cz~bCzo9nJIHTEXFZ8=a#E01oV#;?I^& zH}zSqqRhZh4Nu}5GPkixc`!uQ?%S!w>u=<8oZrjpnfprT(G$0OWuM1=JUMK3(Y{cV z*>e7?Z<73nke%7QLnePes=(}N6uR9aT{HOlNwYzgRmqdKjT>sVC+2AhITQDzkk4RR z!Tw?f1jhT;b^+%isMqFQce)eH>SnsjBYiOM-#u#;U!!$dt)g_WE(jZ!R6g?tlVM&q zMUD4*tQ=H zIHn5bx1JjD!Y4dU_rp``B4$>uY9Rf@J(~_U7++eX<5*J_T}!|EEaHJtw>13dyWyeS z{?s zry?~ahKG_ZPNsGhMB3=z4QhSxbk4DyylKtxuQ0L^lYnb}6VVaip_gp9_qdEi*uc7B z%E6|60#|>Jvwb`sO?$L1Kkdb~C?k?y%wR9L>9NDFi>RI*gn~=MD%kn6%xPV?pQ5%A?R$LQ*_tuuXFD~cVk1vjSr3lcuen_zB`1aZSXvWjG97U za67pt-X=u$kNT-WJtDiG%@WA5MDY+=ZjE zb>FIBnNR21HH1BzI<)g^N_&lBlE0&aY9{V#jG&L(nWEF9$_x949OL|NN?v8r|#>WzA?aKW|pwi;41tiND>YL#-Srq|cHI zEx)eVzqc*EWR_N07ly{VIJv~kU$8UVco$IT{)imvaw9&}xhjj77qoIR1TYaQ|k zL|NeVK^}zE&DnL}o9K=LP}Zl>GkGDbPqw$*;DPY)6p!j5z;Cv&&3fR^UM=y>;Lnpy qg5u!Mch0Bd|8v^^k|}w>6cd&c{kpgR?kIR-9>b$XN74`5-uyrJ1*&iW diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-63-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-63-1.png deleted file mode 100644 index 4bfc06d06c49fef25648dfaa03d6ec23af00a1db..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 40339 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%0A0TpzxZ1vfYp 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 diff --git a/Part1/s4ssbook_files/figure-html/unnamed-chunk-78-1.png b/Part1/s4ssbook_files/figure-html/unnamed-chunk-78-1.png new file mode 100644 index 0000000000000000000000000000000000000000..7f98842a947ee4ae092e93eb9af45887bbdd2c5f GIT binary patch literal 21552 zcmeHv2|Scr{I_UQ6fHs_?OkQ5ZkBA*jYwVGTVaNniBQ?HGmL3&3uSFX2}LN|3^HSz zrEHb#jj>P2I(CN4n3?w(s%zBy{@?%S^X_lc#LRQf`JLbX`<~-G&+WfV4A+Tl6%h~+ zSZ8!n|BQgZDzbpU%4@5I1OxlEWm5wy`mhVfH%$o*XDrZMrjH}IcP>LUX9Y^ zwM5~7e^EH#XIoSo7v~^=bI`;^0dI$|mvO+W4QK>@;M#x>TpSmN<8m7t8{48Z+oBxW zaKJlip)rcr&UhT{U?fk6w`^6!wTfLLp;o`iY|2q>Q7{a@jW@G=$< z*e+nC|HnDMCnFtBcAG4UQZF3c>mZ2UaWLL%`^D5*SKGb83C5|FGKl-z#b&r%BfW>t zFU8Uu29>hBRcO?hGPRIke00@nI{r|2zUbZ_PY+UQ=C;z6U0_dt7%j^~nh z8=aJl-M!|W;Qie@pzwRUcZ>dc@5aSno&Hy-pyGqTnc9=5%JNmhPj(o$8R_g%SQkS) zveR4DWgp|g^CRb(4I#B7ADj=*(a=&p`I1>HfSRboE$`xk*CGnpCUTfSDe$ z8ZgD_XW>)Os&}TBlLplmdJ?B$)X4l+(9B@mP{1tA+S;1v-_FgEc*`3x+dzV7S6op) z$F4RE<&pwhz8n{E1Wfzhe-QQM0xp$2Bn)?~QmI9*PF({9Jm9bm6BCnm<(0@#5<9%8 zRy$H}6OT#z;%O-rx9ZXP#NrXb;`wI`0q2SJ!^5W@^PK7cH3e1Z#~kk}o{blz>vUWC zCJ-dbc(cj_IJPzIKM>qq-@sRtMNBh7|n zuf_xZE*F2J#=JlTUf{oIP?4hjD)&x|^Fh+|c&)nztoo$p0+S;1%-Eo7tYrd+e zw*gQ7nm>Mh0Fvl0CHzvtVmbXk-4j68%ow+Xc6K012RYt7-Uj4HUOrOkYv9(V6C_7v z&tLc&<0sBDW56FCZLBc67UL78pNnKYXVUH`iWTXMakn}E zRi;~sZAv>A&lqNA6jj%V75(w=b$>HxZ8XeAc7FW_7U>qR^!S}7UCC6TDUkwEc#31d z_*a%X8%USHj*!HAm(Z7Y@_6h7;>=5b@e{^I2q>#nDs)dx#e>GYnp1AYjF%!Pw<2-E zUndh(W>59`2V=xh`|@T{>+*ndwjw5o{k)4I^C+>lwSV_$=~oUyPIF6pnjStE8&(nh za{)GeNZ~Rw?2+-h9ewH_DvaaRZ?8l3Yd_!CVDLMTGbKF+Ntbn328^@%XxC^4vj?I5 zWv6sfjU52yls+|(0y|rT@EXBF#L!W@$HX-;h(F^#02$b-B!%?l2=@LMx1{Lk?b5vU z)D^=eH?pJ-8jvMYE{{hCA=z`iw`JsqoEo`aZ`Vm8xWY@?KLPC}w69~H9(Y40 zf4fk@G>tZLzHa{MzV%Aj8v@C~VH*yfxV*J2g?1UMWfi!+Id&QAp8<0frep4pi6c1U z?*&hc6h4LsiWY-UFEUt~ z;)YHUlGa%?%+*0F_@KbAVZT%YtknLiUeXL;a%LhX_3hoi_@ks^6f{#k{Q33RS$(4v zen+=U6l4v5W`WaA-q&9?C;>FnGB`Vyy4ox7W+!)rmdXV>XfXnQh>Xm(*Vnf1B1M^*y^(Y&kw8 z^m3H5OT8TeWY(Fcet$Y--zP>vP`B)QXA zengRR_uOqUn0d8Wv0mW*oH|z1;=mOlCp8*&ia^cf&E!v{1hV^%^K0o30Hup-th4+P*^u~>(FOHBByWggXy*Nq1g9gX+-`tg~=TxOneCT>t z8aE}b!u4e^l4G3>&+yNo6Js{zjhQKqtp%g{Pk-FAQIv0rSGBoU;x%Z5h>xt|SN-dk zHBRLg1r}bxcqhI%gKWP8ie7=wUk@acof{)wh0JiZu@q4lA(16vyQ;nExIo3~1zoh_ z$*WXoRysHRd?2a24)8N<15%q=v0olmpB)0>=d(j}_}ybEVjaH*KIi6=8&-sE`zCN# z)legMdebA%&r7rrR5euHLjj5RCsOO1oVyw69vm^=Q=)yZh`}*UrqqIgbg|5xsNf{A|8rr9796EZBBL z7dKhjd1q#?YA%rv$~%NRj4K&t{dDT1Ek@ zYFy6xfff}0tu`zgs$Uh0PFs&$r+8o~JKmDE+}#nOTSn{@EtW}1Wswo4l1=iB!cJ$M1P_ zJ`H+6pI#uaRK$KL_%}PeqV=OGqu%X!vPbult~QBpwYB`e^h;c5Se7kns)kC2Fo}Cl z-usi^VSKF38I@35aG-zI58js^Lw=7Ca9FC9B&0|fqNwZIvc6LiNg#tyOE}Tp=l(@v zCwfUT42U;Kd~GBP;QVt^E03~A$0M&R^Gjb-wLi3fy$UQ_Szz*0oyboDvENV^mP#0( z53Z~}4UuDpIq=Ie12LbfUFXw(BJe?0R<^@tj|~;e_#|fPawbxVvg|=B4Tto79&FDD zc${2Rt2u39~+;Hq3y$!!FDu`7oJ4BVK+>FcWG}5j2@BabfYg`QQkrZAv4(Ry zhcQ`Ood*a`)YMvJ;L_ZZpV_H`Sq0k+nT;>MZ>c*|#2xay928jCk-uJj+Tt#M7K55g zWyF*AW2cyZ*ZmQ*tG&}39j{H`AST}JmoYv4ik!Q00n08_QXofoqvARC6Vct}yER->xi=Kn`u?;LV@XAQMH99R3R*dxogGnhR8l1*{-&eMe4|xlLEp&nHfw%Q@*zpu zGOp1>hdL~(1g!$cG{j#^GFs-75mJWjX3M(Tm`~ZGGew*yv~7kNhgNy%{+Z$t^r@7z zOrs^4=HB(cVVT}Jd1T1-CW+=}D4%7Ntj#H#e5kdbRDoSe2bGzP#k){JY1xX{{G}z$ z8|s~)UZQ~QlI9nX9JI$Qt_a>43*e{WfWX~ktYSwll2AO?m90*uS z5-0}rqDzv^C9`Fn=Y|BT!Rg#6XTxPQG({)s&bIhotqbf zl=d>l=p4;qosaw^TK%C)**eX{jfU)^kM1^t#YL`FErX2|%0R7H(XzN2A!ZJ7USzLA zorTAMXR}Q;vMMO!PQt`5%V3mFv>AIsA@BZJdgR0TZg3F0D(OVco8)x?NOdep5$mcEBk;U1urG3x1;;kiGeuaq`wHsZ}K??PSW zH`9!jxqJeCh+dQN>6{^dC?*kNC~@**6pVfci%E-M4;+B-kNr;-k^i6q0qV5o(D5s{ z*Al{)0V=j~UvX1?cApHe4qb{IB>79Q;z3bGIr0Foz+OZnHgMBXRcn|Or-lX~gWs1# zFGw*1Pr11vGC-C27r#*f_)FP$*mLvGdgveSqn%gjy|oI=8v!jRuCLCqZ9A^g|IRRIB)0-SQi3?}moaaHu@ zC6MVjfH5j5z0bFuXg?>&FI+2oiX1eL>rwHor%vWCMWcVWQwCm&lleSM!W{0n>4sJW zf8c{QH@|CCcq3=X?+JpyR?$owiiNy$sgfVI{|9FOZv&72U~nt@2ouG|)r0?vVen&* zzuQxuZ-vC1P~@x0cR_sBf2Sxv!ef=JnsH)J!17o$4jWGk;>=_)L+=Nyn^nS2FHJCZ zP>MXvzn?NmuZl54vn65%-!6lftlacOJ!jMxDy#VO4-njR2d9pXIdL6%Tho{LjNfgv zR5IqAtu5kFoYA~keM1Yr(wGz1N)HcfJz9niXflr+VVuq{=13QXVIjbS@k9)?|AnOcHYZTA0Dw6>lK}x_=cAB3gp`N0^%a zTjl7nBGv`hl!S7#QX;Txw(s0w_l$L{Yew4v*oT7RsMn=(?nY$Q-4ty;yuHnGXmy;x z&W(p9i^L^Hui4E^MB+*83B&UbE+~VtzMTa)_cMCh4m^1ModJ!=M*#ZXp1eU%V1ZbT z9nTTpUMgFEE$rr~(9Je(EP>5vb0e`wJ1CT1FuA`D##;#--g;=|_HPWjNygA#fREej z#_8;~fIJhG!rC9h<$v4&D025jMKAf^+HER_**$Td0~vxDx~D(^duV``b{sRJzr?Tm2)?iEm2=(#_BmZYW#7>Sq+yr)(7*s z70-0U0_MCg*CyWoi#&;w!r90Y0jlKse_fB)r|=S1ZAc-+;)ftPfgx@4U{wL@-l+PJ z9RgcKJA_5>v_q`%5;K^u4Jb`B{b#x-M7Ho?LceP}029cO#Qi^Wm~Fo=7iAbmGF`tb zPX-RWz@XSH4NGwv^>O~RPxH)zXt6;#P8+)A9!_tOSrV)VrVb76s~f3 z5=LUrhz~%w%19JlU9mhGTmn9bl!&l@W)6*o68rDmctPSxa>4+);qIw_Sj=pY+REkHmc^0N_pK+*tB5+U zU!Dv#uAt3Um;@o*(CY-33udT<9a_sYw2*8*_=D%w31-wh1sCU%4Fs0w3p>f?YI%U3 z&~kc}irAqwWsU$n=^yC56)c8mqc5SuS1cc8sE9Rlaj}Nyxo;9S5nL`?yE4dUa+c;g zkH9nRN94!$8W){|{nGir5Q380jhqSFo~DRn%E}xvC4YB3mlKYIC0NpQu0PZMWI| zK=^e8G%e?6RN+9G{4`jlBCc_h^ph$f<^u#w){5npxGwj*sI$`#EW&~4Yumb{Qu}9 zb?Cq^ZG_^)$i6|UN~c_)l_ccwVjRB>@f-KCkp6tE6P%zFABehi6AFK~SOsu_m}p@UR$<%pPGCv7b}`)@-nk81zj=*%R27Q-g_75&u83vu zusUxw@s;X4`in$2g15k3%xiu;dYoh0x9xO*_4LB-#6^8=c=CabLE9OZ83_h7VPNxM zVQ(ZXgeO#z_;cNtJx?8h!$x1%DFEfD_-y@Y^m*r5-M*HBcrK*E)>Q7ouEn+TMg4Zi z`-)ovw^O#rT9pXmo&kI3`rjmV$GGIehtVI|`PE0KB_Yw@ug@CiIuD>rvfKJw`d}Ks zDW!i^*FJnlZ`<1wCxJiDeg!;$p`R67UnUDdr>TwC-71&%?i>}lF88+ApUtGcjs&K@ z@okEUadx)iM|2>fWMoc8W{Gdul5bf^3>+JxyL}j)-{!v5)ueNJ9^N<_bpj>l1uEMt zs<`Ewh-+IWMgEa}TQZ6XKE&qzt@oSC4h7g84dLIWyq0;J=9XjvE?MfF?kt-venLmZM^%;-h_&rs?p%|3tNnTMZ{sC? zB3(H3@S0i_Q%EsD457c2im0u?6`^!H-9fjKps%U+U0#uUB3nc_4Jp*{@-zutPy7Cb2Cw9gLbZZR z>gFAe!ts?Cz9UZ_7vbM;TXX&-FKD=D<^UFejAxw-bc~8pd^%0Uj~&1=AB4w?Dh75pst6kGZ1vaDA&>lqU3W9j zFv2cV$SA4BPOF2aq;Sya%;ifUHQ?aaz1=%`cjewt#OAG|-QE3A+yXvf(H*sW1F&7G z8%mT++I<^1zcOKw9K*Y$$e9A}>eVk0q!T{(9+kc4bznkdIEfvSF&pwH@MT;i(>0T) zZ{6#^8R0iBy%nv`Xd39SLNqgIwOa91_Y{}tuRXOQc6WyfSug{*_iS7iVN?_z^7WQ8 z?dy8?Tz6gkey3TQ*e;_}Xeivm!YvWSC?uH3mz8V@Qs}z4!MJ zXWvC^QZO4Te*FCEOZ>xjji@sz#55z37=+cka3O_ngSNzw}+D9y|YU zypQ}qX)vjySSzmDgcLN9J)4KGC8Y;Ve=_^${9pZfEmGX!z}iEuW0TeQ5l4e&1I7#^ z+^y900>_iMzo+?C3m$mQs?1BdKi0N+<^m&6i#?)G|KLav^bBh&4lJ~c5N|E@2(x0< z7H9nJz5j!PG87If09NfS&e*w*3R9DWJyjMN z`ibpz(5+b_XSR8;5e(+$jf~t!7${J?;;C%U%n&pyq0}{^2AH#Rn0>;rV?Oz#0uBQAlIqwTNNoK>xyiW<&r+pTr$0g> z@v7>T1%y7EfGGxJShlB0*^(;)ncu}|88S3+2e{O70}D7M2-$#RHDp-%L+LYjRJa*t zaDY8V=3~>#W>e=S9^18do(MR?7)Z$C;3tyXbWez`&Bogu!G(2_YWg}1orYc*0Gk~w zbDkyg_ffm0@#^Q{COLo{#q-oiSboBB$YzL}I@Gz=aBZ-s4cGIjjt0QgT;`N+*=FE_ z$pKZ%Dg_)AUJg~_bhcR^1;f2{9ae)x6`NLqH;$oXJ%Gj#@JQ?xmNJ-fqG08D=o07YQ+xn`LmD8FX(3?{`k7ujXIHYPOH>mNw zhbEgh1{yDv_bO1fOWL=d`1JD-RBy5CoGwy|Wn!Lhj~;ocj75>!S_9m+emFGR$FQi{ zkf3WFMCCDJ|45xv*aR-+M61lWhg+0d@jMY9IPA@(^s9cEu~+UQ5@Iye_%OQv zV^Op3A-9qSIC^9dIGyU~jnTENJ~aB&-H1!SuaRxo&m;QJc`qOFL=~D1o&A)!3YT^Q zts1NfQ#Jw&(zJ(-(GAQ)*p&15?S)KJhZr_eEHTTxT=L8`k#RxyAw_Q$pz)eL>^PWK zxteIEL=3~R0H+IYpAB<%>1;g|DBqk=q%~${XAVTy)F@cUoOYGR;0|4#1aAw%SS!u4 zU&Pbqwwi=>Kf`y7E$?LQlIwF(obHf)Qt(c$`QRD zIS+gY+NVV7k!VxI?ksUD=}Ki=W6l%8>v_q8uHz$JRPyejo$RZ=bETeX1qmSYfBZXO z;>GfIU5>&oPOr#-TOks~iHPA((s&$aLo<{C=K1RZa*6NcWd5jJmk+5^%XXokW};9- z>s7fP93s+ACi2}A+fYyiUc+~8@NuFSN2i@djccN7oAyZK&BtC<6Yz($DhslP{x%y^ zETcn@mP?AR9cxtY==>ydz`rpoFI`Y3rVr zo5XS-kN$E>H6_b!3fzRFDghBeKEN1nrY9p%mQH0OxyK7HQw zRaPeMLZWM3?a*eXNfz=ZL6+cW*)Ew10IQ+msA7w(H!PK+u`FMp0L=FqG5(@|REWU- zdfdwY@+Z!$^f@HsH8WS)PvwrVrmLNS?A~l_L9(4u)Sg(Wj3NR@o5t9)z7u%D@pOV)y@TEwd)cP#`cRo zlV1PCkTk`Dy2mT}uTR=T+UsOCMS@Zfw>Jo8*qKax?kWQRmPEFdKVpXW2_q2>+oNBu z#TSwzHvImAoNgF)H}X-9PGpaH9{JoVQD-Ljx2NR3*Y3#GKE+V@{!$20?K<%#ZGTBi$xjSdmFQ6&}c=&MXjJa-}e z2tkHBKJU3fXWo-x&p0rK1h2P^6QrBw%pM3D(6QahF_uTU?y+1sEY=X8KXAbQcM%NH+q_z?zSi73*S)A?LoN@R_uXKSEjcaefmbup%ST{x%8 z*MjRmb)OjtsUEB`O~$`yD+3e^sDWYdvcjC&iU7ZwnWM`Q%;4c1O9=?wKwgdW)x>1$#Q#x-FsIoGI@idtZdZS!MJZqw=33J>$1 z$+tgvS2s(Y?`4vlOUO*Od&Nd)H#c)Hb)M;;A$2B`n@n?hm^o&2I>#*?Md7+~y=&WG zYOZ-qBM!#w%2vtP_Xp3x^XO6tWf;w67#W`BJK@HmiQqWuVo1jJ!4sN@s*$I<++pg z6RdPc4Vre)s}i;rMFq(!G4rvKY9>o)_2n6)MMe@urmxJghpt3YVBDUnPFlWaT#=dL z!G{+L$gVb)F9QY;V@}S5sXh$U`DJbPW6;b?3T&4;f_-v?8A_j(=DwOYu98C%_lGZmd8XX2Ggjb*w>b+~FL`fuyb z;z^nrr#=^LL9kUlk~?-nbTnRY9jil+>(R!zsx^;k(g&(jB1zhX zjcYyYm9YkOqa)O0ZL7|CHIUkoa$M+){1Hti1(VUEy>;HY!;0c!yGXsAUPE>Mpl3mc z94SpAS#pW;#Cnbi;*e8)PjY6EkVN6E&(`M4RXyp+ZL zt%_Jmcn3rW(w0lcWz?J4g+~&t;o*T!qRu15HRp6i|FqY5N?t|t3`m}p=x&u6As)b+ z!AE=ouqB@=>Skq_pgb2e(ofe(%j$#;J01~U=jTKb1K|qwG@+G-BqUnS%l$$QFNK~1 znGSi$`PGonPYMpbb0Rm~92A#DKLvs7vfQL7! zJt=daYX3}d<8mUIyUrSj4*!NhXDMJqsN_JA2}vN!-!iH>9_Tk!Y|yDnQN}8D{vCiU ze4Xb)BGI5B-eaAYpS1buo`bX75(gB^Oq#4~j=v(m;$^F0D4eanE1t&XP|Q4~MoKU~ z^GBFX#_L|HJT2(UI!!0h#$MFOraQ%G1CRT=O}ItP6=2TfbMNZgaj>J)?0S;HRI3Ew;H;p$TWz4G;vzWt zp#}n9*jL-(Fs<&cwmEi8s5pgZb($cZLyW`76klQ`<&~*io7R zK7?l!YhWZO=qzf+g1hN2U1Vb?n@Ss~-glTP?-E$(ciqDi1)KlGbS^EA)}ChL$`#mI zrWbXcIF~w%WTmP|6pDP6=d>_zSdn!h@ojsoEqAOw@J3PffVw2adsjlKyA{uBouDR^ z(Bx2iY41q2MdX7DkxbOlvc64`Z1BY|EGLc!kfQ@jSQ(VoWwc(AHp=g51p8uK7Bx0|k5npzsDIDuH7-+i>P?lKi1~mcTFopaKdiC5T|rEg>LX(nxnHAT8aggoGg79m3EtbSNcV5|YxLL)ZNF z40w)u^gQ49`n`XAulId8oVm`KeeZj(d-eLPwRtNoDSQ=;01X5JT@`sMAOixSkpTbc zb{QG?X1p%h7zDb2BrPr{2>dSy#0~=Kf!NtW?7(LbNKX%>2YfYl*kj+L)@vy4$=cw0QbRH0Y5={dJw&!AiW^qb3_jU(Srb=upo9& z5IcL29wVYr zt?;km8^B<&yK!$`06e(z>Z!6N2t+Lk|M!BegOvmbL;?~K;FYtBT^WN}_9?}~94kY< zNY5Er(joUR66syB)rPP?lD#IEk(6GIr?k+Oz7~yj1cNE&zN@(-(%d;x7z_=z<8m3g z`{|t~uE}zVFuQOFGYEtq*x%MNvoN*PGUGil2xh&x$G`FvKVD=7pdwL9Q(uItiZw=@ z_=(slebnhA8xjmGl-cbFJJ}8jR5T)u%jXTD(FKJ2@;4N6+GC?t(gkz+kT{YPe&1300e3xQ6(5T zkqQ~XSa}2A7hf8y=RW+#=XDf%+we#Iw2}YkrM?3*ypjY>7-2?a0Tq1Z{opS7ultX* zczG{^v;@d~7LeieK2vfw=OXjm7>j5n3@_)s1b>*&WvSW-Hd z>NljZE`ad8>m=lET%yyN{{(sl|NrZxX^EJK8{c^Na3Pkw?}r_=nTd;jtU;W*#mQp7 zYv>le9b(ms9Sg=Z5*^L6Ta2)JE+OdS;}sx2Tdl)rf13jtH4uK%$ZQQs(!f)nI3#3Y zIOXCs&i2!$i5Bap=9Bv2)gN;aw>c>0%IOG`XjyuN%I5W zfq1S0$EL?l=yf_qy0g;|dT= z;i?T(T!CK!t)bRq6WuHYzZ)m(?~Z$|*};Zadp)AW6fO-6o?hE@m_Kk|xCnQZ(mcw0 zy=s)duJzcy%1Pagwd0^(_Io*9IA8*&?SfMEi;F#^6SBIz$LuL8-sZ~7EN8^^nlq?T znR)5*zF4tFmaH)ogg@W{XS0vT%Ld&XRXBrQ=f{d)n`pkq0CJaYS9^`mXF2W*uo~a3 ze|b8?RMMR_jpv1s`>3b`bi3U^*)^DWz2V)1w{0q=$$)mElBjPgn@QYg4BHNGyz$il zmsLK(kM(s~wlyIjMJZttI4$|1?<8W0+>`&@mR31&Wm{vMm zd1gIO^E=kav_@kdzzQDWWZ=@(0{U4d!^kz=oEvc2THUV<9-jpl5|8Wq7$f(9apm9| zwjgBxuv*I1^1e<6##<8s-ciH}-gVWI=FA_fui&%kv0+5b>E^>8|9|%X*xX5sVJs3>PKAUJqb4_U=6ydE@JjR$1EgOJ88w}v-&`E za9K6$nP#-ibj}e^cdL;%#`)1jte?`~yk!*jz)l(5zFJKIm*`7Le93F8n~s5cylP)6 z-YxTNHmfjGXbezVI+`Ik8{NnIAl>_EZt7rFbsL{{wtVmmaK6&LbhuP_3Q0r_$H!-v z{W)>cfn7V#cMW>dNd1=5B<=67?n*z27Bf^ZK$}7hhH-nJFT5M{ggElLs)*S$;@2uN zY4s1hRUY!C!kKsX)%9{gaJ527DnrVc!KuO>p* z!o=ADb2^ZD`9a=qhC(lH#8DQIR6WUX;}?ZqRcChBm{j)twu6I%yfp<%Z+5Ybm+z~x z<#lfN!Mz^pCytn-rzy+ixv6+c)vEf}%_yQHO0q`BW8kU-2)2gn^Z+mFfW#N)wa3f9 z&jYebwF_o^<%lQA;C)47Aj@)32<}bBUP@ZJMUCs`0OAIDNm?XfukfrDDxA~QTjTuo zTi{R&xzBSF8)YyCa0gG+RxJ9gY`adW?Z8H*jei`Zb-{?2e;6D3#Prd@p}VF>R9qkt_ZCN zile744US)FzjdoOqNMfgS;&c1Gl>JD4u$e6fm47EoIL?Vjwe8~LP6EirlNa(_bdJJ zUxfMHfs-r&EC?c%Q7^GtdYk#NWp!E zd(5bP#$y-Fn$Sqb6~n9viU(-Pog$* ztJq(=6Wb&iY|c5aXB!uj!HU znALpW+S}Gy05)&qOC!0W3k&d|prP~Vufg8S#>hG;N z-c@_#M{Ib~k;Bg!HCpMawy&J{K4-kM(0Q6tdZxb;9k6IgCew8ZM9_0dqz;VmRUFPy zoJWcnMi~gZJ|t^uS3>D?im&`6Iike(-1gmgu?4OKqcBwKi{L)r8K8NB4?6^nwW%255nnS_v4is{HVoUcw~>@PoPz7+sEFWhp~Bn0&eUw%I<31k9cQNokA3S(z=5iZFc#OUu5V3Srj< z$!BEcb0nzVaPNQdV|n?qndW$^CEXf2P3TxG8$a*ui{&MQa2I)3IyMGu53X*qUr+nY z>~l3?3I^2`pfw7sbi9uUy}p)~*6-#5(xI2NDG9v>eo+Lq5H z@!7|*HaEVzc)EiP=noyU};_45#HuO7Z9tXH%S-g>)zh+_R>spmO(1o+cb06@gou3~gRsiQOx*2j0 zs^y7OLiSa4(c0z4bZu}%iRhcB@N5t{k&Tsg-TTsFs|!;@fba11iP`a$yMU#(p6e8- zB@=H^*Eoc@D67cAcFa%H@d1uH^}&S7Gk>wILWQVv;U+3$jV;lT5xRJg#nh?yKB5uWzt^7(|OV1(WR?GWC}@4ZO#& z+dXCo517cY?({9CY=_U{Yj{82yrst|Z-xH#BNb0PaJZ=S!QLn`;{?Ei|L%DCQcyJn+pcO1CNWqQXKDiEo*ce6gRw zOi?*KdZ5vrDxWy9(9Ypycu1i?j_7p4TJchDQ(*72hcD*++$lfK&Bf(H+K>5SyRU+nPP zdx)lEsdST&LOol#8!(Ppggk&!ZRxeOn5PleLzN|x89XB{X@dSQRoT`#=h5r(Qi^rQ zg~rEBG8pb(8l%|&6MS?oYt*}JE>coZZq1r6kBQ2_Rpshcc<@bD;_>gWO6rc#Miu54&MpbM*4yQPY zYq0B^JM{wTY;sJM5kLyZ4i~_MZc3ki8Ak5%%i}YC`<8UAo-*&A(}l|PR4K`B77m0q zoZHgn>@~d2{Y-g9!ci305Mq>YmED&b*_nUU5}=i*6(p^r*&Qi%@06i{h2q=?93}9r z(UT%=joNTiT5|*SURg|>^fo&t)tWOC1^GXPs#N3^?axPs@SVu5=}2^VkQeDZfYW_@ zqO;4jQYjCp!ucbowp`q4aXCZg=<_>$-@{djC%aQmxv0#+!p`BOzE&2y;clNYLonQN zdpTLx7L#OQ6kWc-*+|VKnjxOlsgKaLr$>{#%2)TXdf_8~DXkK2R>**|jJ>)0COP;4GBC{UErwczvmrd)a`T((n@+>svM|8~_MhrMRI>wgdgSp#^6#~o)Xqa+Ug3g>IXp}w- z{smg{xwU`OYw`CpNdiLS+!+~lpEVl2BwjQ%e)*nDq9%cd007Ok<|!;=Q9sMbr@bta zJ+6`!QSByL;l$W-RHC|rhX}AcW0(B>GE;z4=c8wWhfw9QQ06oizTC0?p5*c@Q9|y< z=_rst-$Hpd|5whyUng%&L=meqa0?H7vm(2MT$I5?T|XaLjy2osACs*p6jQa-l$kGBkkN|;Xn>t%y)yTd}+8X9bo(W`%%*T*s-xO zH}LVG*a#l#9f(e#l~9R#Y7`b53-qp2bcERr*T2ihjK@qedeWQ3B^N z{*@N+5RaQwat7v3j^Oq8xS8uX4#`Xf_oL`$diOwr((Pr4PqUgbFB%Rm! z0JjufAkiS`vSO8HJMMx)p_;DI;^|#ou72D~WXx=MLhg4hNHam8{I@d{b3Ez+6Dne& zA(q+?_7bpx2f7ip5Opj^##Z70$Px;|O-)QCROWn+!!(wTk9FKRWZL4oQESLM!%YEa z$mO{Ze$QJZuaj8VY$(|rPjbtaNri;ht`dH(eZH+_i;F@gg0j-7Z#V%Lg!KfBjh zvyU>MhqdE;lksm>|!vABqz2LRVs9tZN)#U$X6Ut4cd&`=j=ml>m9F4|sn<`UU?qxSF{18Sr*nO|_ zaWG+a2t2h*Bpetoun2qQ5DnWfZ&HfmLb%3k4H+x{@I{JIM*X%MNM?s$Afic) z?kuGvB+tH9ypgvP1Ax%N??$l^9RebC&g&KWvHPQbZHl__-s{i3d+wJ$MHCO%30+;9 z!oM)*OzgaXF!q+uBXgb zEbln4#;LtR>R@X6gveSzOj5C;L4d$G)>kLSbt&u!)S8yEjkO8Dwq}vqM3Y;p2n{V> zGmHqqUGkuvBtpx7~wr z*d;RWC7U}&2p2$SX4X=xv*XIun;r*_gg2B;pOk%eF*dHg3dDCe#@VCf%-r#*35d!I zYx719gRbQqBbTFx*(UXr;n#7C;8|AaGptG_XK^|(hutdz4iU)>$zd5PUpy9S8Eoww zI8qLvr2&><5qo{fc4Q`*DEC=C;W5vxK&C1L@`86X-*&spOG zxUM{at`Uh10&y5|vZ~Y>%Fmu3+@IG!Qb}3Qne(wCWgq34c~kyO zT(O^*QYgcFm&pD7))PFg4#fhs>eJc4kuG=_3d5Zc@2Ftq4KWifzG}Mn=5*8%x71hy z><-8K1%K@h4ue73LG1FElQBYY7+MQ|ZfCeCDAFQ2PlS;!BO2{Ra5O`<6WJ<|z``rR zw#p#}G-yjwQ|%o%lRzEAH??QKL3HG&1r;D^{{_jR>kuTDU22w@x?R-kuRY6QAQrs8&W>mr)p_|2&P6qoITiZUcute zk6n!0vwDNS0xWC5T-B&j(1KANHGuWA~XL-sk2K$yq= zYFo^<=DN#@D<_;QSiOXA#Md4Qw>vH-VCNR8&X83=zfy>K`d*L3yTKVcgOj>QIe)3E zi?deHEQcNDfJkJik5kf{s`*AIN8>s=qLVl{@Lhv_B^y8J_EPyQaw~2N4JAVJ;7vu0 z23_mvY43Z3Lo|iRb`GaU0Jc!3r#1DeLAD)C*EyexRdXa`e_vXqL;;&_;dmMDnCdqV z)RrK4%R9;n*5UT%IFSw6Y0hy8?eW3*O<&;rORVhb>J8t#OT*`l{Vp9S&B^J%90q%o z!Na24Ne)-dsbBZ!bpMTNxog<8cjZ-{sbRt;dON|D6X|;!kX-#;)6yIyu=~DSY24Fn$LMaM) z1Y}kz5k+%+Unyx5NMR4h{J6Bsgl5l{zR4!Ollq#H{i-<-dx`4CN^Alz9yYS8f-1P4 zKepk;o>kzJThL*qJYy$T>Ln;~5h}#O_I^m2)5?-T4`pu){*9u@v0#qAOU;k=Tt_AL z(p>}Np2|6%`t$IH9t^@WLN6_4Rf4orStbLc4i!W_F~HuX^J4F9jnj>tHCpiCqJe7M zY=ZM5+7rwMzLqoQ0?i3x%6T-~5;4c6K;6uJk{%Ux18WN0uO~^hojUOWUHTadqdc9{ zHlch;c|B(j8n|q4`h6Avm4xlpz`IaWB*Wv^M^8BX@o>>{O3Gf3GGg|9wp-SI0U)qB zyH;l`z3`GY^j^U$QJ~h%k-sNLko=*$Eiy;`0K2Hcl~3Yamp~tI1;(VuVQBs(Xu&|t z=sY*S;Ec$J=sE=%zNh!Eiv~~qwJ88frpmOFlT$y`<9u;bt1XL{cT~W_Sbpw|^GGea zrnn_7xTcgqY$Hh%)R2W9Tov;KU^i^D60&opbSKP-;lfiTACdpGXmDEJ93_NfnFOF> zW1m(_KZMA!_;8Ep?kpagY)RQ{@KA)FlXUq20HB_Z8Jb1Wew|vIbEG>7sr#S@0a?k= z_U<}3u^ML89kPhFjV^fho(t%%kq=vdOXNgA3dYVoo7i@QLTCFt&%tgOdwV7iR zB`A#F@SN~-?~_+IS_K$xCbh$JY31lkl6+C*diO%%*%65tv`&QlW~2BU zM!2VZVQ}a172V{>x6*omNw`sWAd@AD|M#K)%h~%%wx+r|!U-xxTmxm*sEIB&S&zZ2 zabRT2bWxF{?BQl4~>x$wr8W)1bOJ7=cKXeeTFw{H)jgK-7zRw%yZwD z@3qO=u;d@{IA#6p==P%ux)ByQES6-}>y&kXm23?$HN}rTlpG5+u>z}9qD;OjVBz(5 z=@McXAF&%fG2`#$$@*sbx|YtzV+gNN`do|M2q%4qk~qqb4-EPX)G|0663jRZo(zw? z+DSEMVRK&km<_S!iW<*32~Uj-BXjXnjEN_0T$7NeK^{?CkEtp9kb(B_YAPBh>;BOv zav$es7-{D^UUp^e*oOPAr$1#*@{v)p(tz%_Lc>hE%X3#^27`pSIVr3{Krql%kM&SsDV7^^7Mxb|#d@I!eYD zJvY}^Hw|^OKImJTJwI^UZmn6Y9jq9yayA^mX@Kn#e$&~iuZ7??l-r_wV&IX8) zcDYs!D_|ijVxX4Vw^~kqOihw=pVuhL@%o997=`UJ6?ZC*p(R!rL*|UTccYAl_W@tO z0q?d;{XP4`0gp2Awigw{*5x|ZFI91%tJw<)XIq($4e;=;`00?JJFGehs&vCIl4UHd z>Z`(LIiDo;$a9QE+pPjTAg8dyd57EIHQJK~llypQ=t7!_S>V0~j2FX%&= zA}KdUJ4S|o*2iaH`x9#Oa_6?o$$3f{?2Z=p@9ftqzU`oFnjf$(_PZsS#J6SG515D; zWg>M|>#1HvDWLOB`tGAyDXQ1itdAu^#Fz?n{t^yg9n8K5+t390$O!n*6M^0k1eSdocTQ!*ZBc6@;_ZhX&QiEBD)q z28R1Z@*L^gTy}OnB5AFZ#&11z6nZ&QRUuud2I2?;^ksXr8*=q$xm}sW0gWlo*YAB@ znL8}8FUg%Z9Q`u(WewU_s7+ISRDiu>?8qyw$oa%6;>k*O1wLawjdRI-BhB_!GfJ?R z48rGVV>i^0d&!*V52J5pQ)$gi#{+_vcM8ULaK|475|j!{u3N;OY({%5oK{GyUBMsT z{peUyKZSQO7*z%(0q|R6FMmuO$}YHILeX{DUqxg|X&Ts6V;0R#hnMiyH7Ajk45Vag ztZtk@O!~o`RWG@7MTaGETufi8vi_8rnDVf<k2ajAuXOBaDVVK4>|+0L zr*ymd2DG4d8EwkpWOc=K%V;e@qsU}uQ~9Ky<$+1s@CM-hmihjdWj2W$wJ{CXP@QUj z%qFB4RIn8F*IZug!Ca{By082F7&p;~(32|(b1e%`v_b6MKV)${NzZxJ^iEzKc8!Q! zaZ>zwLnW;Fkd_46fn~bVn>Y4reiTb$cMeIe2BY2OQT!h>JM0Ra1^|V}teueI`&OCq zLk{51SL#s~E50@=!}IOv=L_B*ky6qW=^wJWxWrDKHa46$_cZlGnwNK2ORsf)^ow!5 zRJZW+vy(_@eLW)Mbx-N3T%6QSPFj|zC-xUu#xK&-{wR5JD{>!b^7T9F*@J@Dw+W`4 z7&)DliFGgLBmYRVa)|0=wN{1^7MP9FlxcH=iNZG`uT{3wfGw5__PqM^F}Mlmg3^!a z?1zdtmjzcOcAN%_cfOUk3tqZGou>OkUQ9o;5uEa9p{`r|k&kj?4sd^nXHR4G+H>}@ zHbZvgu~|84r^j^xE!!W-%_4O?ZvH9};j!SL?QnBW*M>-EZb@VSee8pdx!)X{tr4nC z#t$4#GQ>w=$n^L+>jiE4{G!5IqeRHG49V)p#0$P;bD0|Kw%G5*#pto?WJv#%h~vwC;cK&+Ai9i0@;JzyC_-+5YT8#gFPE&Ftf$q@j#|n`GOp zul+VoBKnVAAp>@Cg zL2KV+@nSbD?UF->gNGJhCUFa=LB#KYsD6DyKYo(x&7%#gY7OTyjw|A7+W*+*F17%y zmCrS8B^#Yl7-cBtr)P}N`BZ`>B-p6TlDF=S)ZNC>GW&^4FKMh3hEF?(Tm56HMC05v zxy;)_S6_$3UQqk7;Nk1XLc8Zi$Z`Qo7*v-&O3)8n!md}@UW zsM%4jX8~mwxew4QxX-8j3@Ztk694bT|Nk(-XYy!wS7VEKYkQKzb$S*YHL_cC@C{5B z60(#ro4QrMJ{!KseUi~WmL78KN_a;fQ#tMWwRlZCDRg61XQu%NB@zRUey@4d3436s zNwPz_;7H4F>76f8k_407Uf^m?f}<88+C48*YlZMkZ@krjK-wkD1gT?>$7b>cX%j~> zB575*BrcJ&+zuU#`K!x)I(?eRo8Z({xsUKYyJ4vIn1F9E^zt3Mq$+1Cw{qDeISJxo zQ#!d2Kq$!DP?w|OV6v2tZwjRxh#RiQyID&z5Wj-ga6j*rt||nlL2$?ND=P9xO(#Lu zNDxyHkfCgFU?!97dV0JRAO~Lhk$Z;4@G94bs6sY7Awhwt&AK9G?*J0glu~_FQHnr6 zq%Y%6yP@iQ$l}#kaK1n15*INPok;fLmh~a># zTBX=CC@Gq#b)59n9mg8??*wPretFCm!vslzy$t=#T|KIRrEU*3oNP%qX|tg2Ia!Sp za-uVMEDtUJXj^juNT2_R}Q7B@;M$Fv&S}OxY^rnhZtfP6dFP_zbPV?|Okne8~g8yESSwWE{JGn3|#aMXV$Ti})oBh%9 z9T@lc>)_@uE*h-pI^TRheuK>UsTqp`d8eJJgckW1Vcr#VlpY^x!25hiCeabtGOtwO zq#7B8zfC0cQ0$JK)q7exJ6Q2h_%2JF|5gI%@rK8GUMc z%dD5`BLB#f2q|dxNbrCRN<5*%e9SM>_TJX8>R(;9q4UwyFX>c}@Tuu@kf|g&G`dw$ zi)Lb!UTrDStCCe`$-nM&6DZNieT3c=CX?_1(I!RONF)wT$NYZCaZ6j_$2c`vEWFcw zb*?S^VTF(hgV|w^g^A1Qo1@(v6K{Y52`%}0QZ~7dG+^rZU%D#2BFbBgseKwXXX0pJ zM2olPjL>yMPSvwiI~IKZ=QJn8!hxGNri#FO4_DL1*?d-2wsv+F-oKIkMQL| zXcn!1BX*30nB`@u*~=4#bQ`uc$zYs7DYNuoM8Rwnab+$L!vwskM{OpmBK9kP8{S9x zi>_2(S!t%BR@Wr#uH76>=1i-vR4AZy=#Yo>;g)@dn9%r?2wsNj0cUnBN#;cb3LT(G zaX=UqV-m?QfOLC2roG-aD&bSj;a>eF7k^wn8oO*N0j1Xz{4=>aIPwnht`{SM>|y$?gq`GP;^ zjN327(+tJeQFw%Z6XoGufQ6Pw(f-JBbhmfEW7C~lr0x)guq=jZJP;93_54FPoGvJd zWB?yaVH%%UPqHTV(Cc!5#=y^Uzrxkn@feLqirnW2QJ0!BPae6}h6UB_3I6HeNhE72 z&v~g$scpVjsej&52`fUGyWPwgHBstMhrEJfPE3Rj)O-hhjSeTXHhf6H2>u^9_Qs9_uyVRz=sk0USx09&ys!5XCno^K#ob>z~bEL7L zS122?!vOfaB?0qJ4c+PKvhkK(_37NeM>aci=sF0W=-aDyvJ-xIp zrJ#S%BwV^l>Sq2Qo;xpi|4D^Xp5MI%=7xh84u^$Yt(Ubf{R=zi6*o^u7YP~+-}w?s zJb5DFJ2ea53bj+M@lChT?^uF~o$KA??k zM_Q5m7gj>=#i32z%kwnN&%b?_+6yNHMl)EaOz&~|Kis8`mb~n_C=nU))!HWtOr}g{ zmEzk-6Fongb89H>PsYW^J322|f!&abrWZjN-Y0*2ivpU(Y*CM>Y=3WVfbw+tSy2Fr zp^PG)$Fg01T>w^W$?)N_*6-46gaHD&2{1zj%a4sxQ{UY~=^9-wnDok@)?+UuZGE2w zxUlg3-uVN3?TvTsE)?*x+4En|!;ams)%xihD9JTOZ|(!=x8Cc!hHIqq^HS$gW4t4A zNbv&7efEFTqN=Cf9!j*P)1;Z9_un)|4~>7gYboa@`6st>6K#r%t~ZH9p;S0(FuXxh z82yBevPAa=0$usNp8;$RPEmH#<+11??~LW0rTQ@uttqts@R-#aA6MO^S{a)Gl&BP> z6^TEq*Z7*>m-O`5FxF@G?@hGcq2;sw+1l(X>81j&=MF~Xt&y&7oEn(tB(WOe$If7U zQ~9&nKid=pS*8Cu9IOMg0@7H(oGv2ode;_t2n>bRIUtb)12GHXjGa$;`$tf;?BSnbH%E`Cg#vcv&2@BgUV&icYD^gIBZ_WMMIZ{q894vg+U>VCJaO~WmX+i^q% z^&pe~yT`LGjf^<9xIXXmUOx_q$kQ_&IhuQ&7cVZEl@LBIcSP($S1Jx$@SOd0TMtadLgSkzvf_n5xTbvs&DYh*B^F})UbN)g!h(>mjR#a$TT z3@6X84r=)D>zEfZnB=hY-H>(}8#qEEhMn4Lq{`PiV|SymfzGFd><0mF?0A-L`L1dZzFi`02abKGWN)HZq z9&WtxFoe4KV02>KpkWV~7(kiOU0`Mb>Xmb-XQ~XL8ubC20EF^vF>^$hxwPJdDyy&g z_(olpC{46}Vv)yw(?qPXT|o&6ZS~D6=y8<0Np2TsZoEuS|P%Jp7J$!^`HXQ*uDNsrn;Zn6mObom~YKk zAo+0Aj~)}{cYECA(Mw}2WI|5K51<=T)`&~++qYoFF(hNx6h zyLxieS5=efJ?t10J&573jlFi@3DM0xb%JG7&VJS+H=u`~&n1B6pXaOUuW|`58?Dj3 z*rS*&8^>Axr1^=h`o^Khe%W!%_R^Z8>-BRD!UK5Lyfneq=Umw?8|mU<|SetzJ(RcQQ*Y!JJ_ z)762M*d72bTGl-*OnA4=F80|)4AywT`_Shw%k-IdWzBw~AA@$*G_US|uBPASD(v8O zFzlgp63We3oI^_IG7=0)P<8#o?QQBFd;BFjT6Re*{v{-O+s!Nvz@JL`RnLUV%WF>M-fiUUBDu~}Rj6$4Z|hMaTJHrmQCe`Ehrq09EB%aZ zt44PJG@g*rPrZSL9foT(*NQ%Lt?$IhnPB9Wx7rLN;eCbVpcJS@(!;0*hxy>0^x{gM zUahRUN{s5J9}vXbcxV2Rw{1Yh-K9CJYwKk~QOeqwJ4HI-4LQ`pHZ-H5mU zQpRcFFgUXkIEXEL|)5E zTk2DcR$s5rJ}A>Q!P+oi5XsqjnWf0#RBNKTV~9yN90(3(kyVEQ{R;Ke-2b^Dp29(ay8K`uVIe*!x_6 zOuVogh<2p06zOg~xoGPDZv)PDpE zQcloy*o1W#okzczU`dgQZRHm*0kU-i$j2iqN=7ghtV!YIIADrS) z&~(_U%5tM0xcw_K0YEHJCx3c7VZB;xppCx(Ofmd<>oXAJ8rET{f!=?>M}z?k13tpQ z3-t8?u)r$$&!)E5lSC5kH&P}-3CwX6kV04uKLaxlH~&Q|1FxYJRB*OdK_1w!t1NUq z%cKdpTqpYPlmlQ##A00J;BvorWk_8E4glH2{fja>uV`SMP@$iM6&BF~7wIX1!W2IKo=g%A00h9G2I7E-;dx%B6q0x70F3hikQ-tO z-s7bZ?`^#Eb0TKwQF{D=#t~3nrvM6vn7~I%z6Eq@06YeMT*N3nw!kB_sj~kP^j{9a z-=z4iLy0qRNW=NPXsyB#xa8CSK_26J7Ksf`cR$x+~Kn5 zqZIc8imzE>59QZCm|L(Is0+h-$ltp|V-~O^%7(Frx!5Le7?s7$|e+PHfvM86NW|NhSP{WwUM{K=e>xrwLR*aEn zAUGqGtat>#fNbm|?*4F+oH34sZI@CbHYH%y13Po88nb9qu18m2F&s>4s-jPg zRwloS!kk5c9FVw#=ta|AVa7Q>Gw$G7QPj0VmN|CPZ%S&iD$pw`Va77 zkXBySG56#*%=fKqU-vd_tTPdNs*0|&``pIM-jP=gwN>k->Oz06`pU5D+O_q`Gz-hFQ*RJp#+#WY?c>^$+U6#4IKi&{Qd{YwI{h8vS;)A%=-Vc`Tf-41NAlW|5uW! zvcL^r;~l}T{qHc z_SZ?+f5|3Cg*8z&mqf}>H#*A0@Gd0(B8mp*ZFwwYqn@301&xb7K(qX(>~OC~kymZa z*_Po?cg}~XMsisILMC>k zZmRSlQJ3p8m>^&6kn5z1&n~(GQL%#yIVG0&FM0i1iY%{q#qhRZ?|4ldj)|f2KzXVI zk-lq8e|~)*x^1VO47Kz$Dlz87L)ZP?bUTXyR?OgeC-Kv*@fTYQn57SFjG8P~1yyRx zHb2cKAk!&vPE>0hGA2!27Wg$~t=!sE1Sb1)6stdTj3nQ-u|#&}exYv>F|IZGq}HaJ zbFWkIV8%+-;nQJ{;O0tpJj%cmYRw1RekXXlu&PBAsL5I&@Yg8sn-flSexC)v`aUfG zJua?&fYeuD3$RW_;59hue#&C3sBQC$8&QhSrU|Ftj$ou#$T44~&U*pf`r1Ng=uZ+( zcjLHm9DVTgw!_DA+e7xaTSUhJJk-C`HDxK)=sGsOUnitX*jVo=s$(mu3l6P0_Dhc? zKZ#kvDY1$dS)H8CyL_s%?rG$DttwIR)nLtUk+6ee-yyUR7E& zV6jVWEu^O_H|E!T%jh> zapP&KKCH_f&$ug4PX(>`S0#VvKvwO5 zS+u1mwQ#s|du!w~)J4ki3t=VwT5}@U>piknsH93-8L1+pDo*N}$SqeI8)_+sgrFgi z^>k`@dcFk3jE_#~3HQ4HM?mktzuNQN!*C22k>GN+wSXgm_cz!bIr7F1ACJXvmrSjX zQAgxh$`RZYsd8_squbRSf>|!0fUOG^8_m#;g-GuF=0FVUH|KhYmyIt(>8Nb@O|55H zmgI`uiLbcTWlJ`$9+8o;tm7s2j9{eRYx3wr)zGeATQlqFsKftZ@6F?>T*J0u6(z({ zq0CVfBJ<2vAtIS)LS&v2uUc-6Z$8p@1v-95;x=|r=0a+BALB9!|N^m#E)DF_%2DTaK zbLDiAeuDugtrgh#&589KJ?r4c#3{Qu-BP_^=|vo~){S{uWDhomVM2V}Zbw}Du+NRW z$0jjJ-n|eL76NJOTU|UDvlI8Mem%#})EVIIzEo$JcaANRt1Z77HnRc3*8fvZ^Y=2T zs8*qgg9STf7xxa#SS*jWE$lmZMm4E|LmM3qIw%Nsr&`vigSm(#zMwYb+)`E6y;j$2QMIB z4zRzx+I%nio$WF?!EaC)&08#8)}4cV;USN+L%+E;(oB(EymbDLpb5CTH^;}wH(*dR ztzY>Uu;tHRy?`NJ<-Fl%1bV1DBv|Bq{@izol}g~a^^XEQ_)1bDJx0f%4X8z-}Y(oWggV4FCQNtIt>jxDefEzv5|pUThVo z-0rdQJuC|@8sMn>7>%tG*R_{C(L?~A^z@rIZL}E3?bQMTJphX43&51! zHoE_BH~;^MX7O@NC-UBg#n~^|$L3?W0X+YeXb+et$zzjO6}mtRSQ*i3po`s~^9lTf zXee_sy@wTYZ1Q~=2gLx34S-*R7Udu2!+)Qj^tN1`)|8jPvs1$%Hp4p$Ef0E8!<95N z*{pE6eq(qXM6}?Rq(_LHx^H~b_Thb4J$0)}>OScg4fMB}oYTqg9TINq;7W1ixXTAL0{YJ-&BhZy?gXiH5s9JT!vva}5h^5qjd{GxD`dUDMj%lA4sNoPMI)Z5ZK| zkl+~-av`B%JhgtZ?8n;7lzVpg{Z*Gf(k#c-co2L+u;AN!oCQG_$4taN9Gz3W0!-#aw+Ckhx9wWj zx>8kf#CE~vFQJ`f9#8N_1Y8oVHNoSCjU%r{3tyW9!PMHGg*k(29(+8W!Ii|&tZdf# z7wHnZ57_#rQ3K#w-!a1q>s^m{FMk8TVdJ%DB*ega^=_5eC-Wa#X)@cp+7n_RA|JH< z!p|)<*7brIwq(biqp+}<#r)`KDA~D8CPJYyrU(Yt#rQkS%FHvrGq+R}$6l^MP z5leJu3S7&VvP>Lf+ByUYIGUx$&!X`LKLmX!E9>P%!*K?`QYNiGbrHe|V{gu|&{k5V_{h z^crf4U(<^vt&zsAcKk|H)nn5;9>JWxxw&&;aKH+3-cBkX2orG)|A|B$@h_)r@#B|ZT-|2Da??&o? z24glpWI{o1;UC`P>6cRLZ8E9y$Uq9|P1uwtK-e~fXj7A)N7&++ATC`o?Rxbdc5ZKA zqKI=pIbxhp3{msot3#_nR)%C*dn52X^S7R-pGWlBpzxL={+GaLr4{ixZ3n7x+?6L{ zvm%|66OAq%BSm(p(HF}MqoAjT`EoIOu&jHoKJ`{&rl*=)hD2lvjt%r}rIz}iNruKzi1!t{XG`J(j*jPgFlHG$Ovy^L; zermaA!t+mg=k0UF)pW==iA~u|*0+;ba)a(-1+Q+oOjj0b>3q?oa%Ve0<+ksc4^)VG z%d81zlP<)6_Trt9qTvrY=_%UQ;pg21I151!)p)8!3jOcRxGtAOBM}Q4s5>g( zixYBEk*#ulmS0ssMd^;!p(bK1fM3K`F5j%-2FLT{jMBb#BmA=MVi{l)(As_jFXcXY z$bPsuQsVw3%WADuD@FUMR1mFnsts`gOq}Az#u~eF#_RUV^{?Yu4V~G7*zB&z@AjMH zjROx=1x=W~-URl#WSWX5&Et17-1rgkv%>|s6_TROFM_0p=1e^W8P{{vKuy8$cl)bh z!*T1-m0_EH9mXN?`NZe4QS+vZ*(r@BfTM(T2hd&TUea~!B**dmIQI!{~52%XW*OYC#Y`_Sf`NtUt3(q2G2N14K z&J~{~Dg&qtyR9mwbuDh1yfeMI*P}f^e(b9E8%T7VZmWBI$LiZcQz4XGpx`!wn)__= z@!KeW4XS96K&QT9e_^r8Ly6-94Q1(zi3f% z<;l>&1nF)501wj3q*h=@cC~`!e!3!&G`K|my#}8AaxE7n`8M@@gtVfY^PH_PJm0)) zB)!S;?K{bE73@vd6O*)ghpbl)G@9ha{J`~km_1ZMi@?3mMYTevc;3nvLP|rz2GiQ0 z03;D(A=}$qe`N5@>bGArU_iMzti}ub>X}DgKRqRoi~6vXo`CzA1F_wBq|)d6-*TJP z6qwbD3np@D`@UV`uC5Q_e0`~^9~&~po^JyyM)M!glz z*tb7QjeE+%i?!EYe6CrMw`F55?3ND3%j>4>dVbNcjg=CXVIiJTfSZ3hubvZ$5fpaP zOe5w=FWtk(kglMbwH$h@?@4OCafZRt{E*@Ucl~}3)fQTl>CUTfsXI|;%%4mr z+HjeLW>)aff1x~)G)}1WhZTc5AVoP;wyw6vpr6VL=X@0ENe=;bmN1jfqZgg!kNA{| zzR7pK>)~Ge9DaLQt&2~SqwbP*(TSEe?;vzQ?XViRlr%$s!pZZ*@WtSTMZyS)i6R*$+8hULGQcUerVJ$kwI{a7uEy`;FwC6-~H!D~*Tv)s=v zc`KSzYaU7&MAf|qwh797!T?}Xk`~+PJ*x~#L@g%ymbTfFXTQCkI9dNR_^1k_ z7&hb|=5rZenCj0uVC{1-bWl=qT3O+pTOCtE+DiIZr*|gk;uG&#cFtw~NHt_YJ=-U+ zQ+j53GF`8(gKBIIMxz4~6Ezo0MDr6h-%hN`-qeH6zlTm4R_=?y&xm z8Kh>>fQXBHXJiK(K98*0rwkkEwys%f*X^HEl&<>SI*(Il$l@B0i2J62Vx%gN(X}DAo13=-IU@)< zZGY$9FRuvZ`66^W&WwI}i2+<^S%^+r|Y?N1o$FlboM=le+JRa_#87J4KcvXWkmb5)*7t%3+lBXk@7|8@wQ3R{aa=_72*ZPhfRRU3mbzIol%UZNs8 z+KzFBZG@-|chkqg`_yrHgyIovt!KzOZ*&`akEW=$nMCCQcj=qHhCp3WH_uU)um?K1 zjt_h48l_cXZa6cntg$(j=CSEQg6a^E&$XC!yXEt8?s5(9&}}C$LmBU8bTvxu6fDzDWmjr|#{LYDbdZ=~7=&N=C5GRniT&6ad+yb(U<++D^5V;!Mp$cUI_lvHP=^moJW1 z1hHj8TS~GPU8pwBca46Ic|wu~7PyvkH*jv1?cAH)=9N2Q1S4c7!{chbg>#Py24gRc zNCI$SFZ|m8<}Saf$s^@Tqbxx>+6mrQPmr@hsbUGn^btt@!7R2b!pe#lD~mV6!%=t~ zI+Im2T;PC6p1^_*GjH+MkI+>ySch9>;Lh*_En1N_z!O)9WKM9 zWN~4~+AXqfMbAj*5Oz({w&2SzLIH4T9vC7$t)K6GG_U8^iGg0$LyuGBlVZOV5IXLK zY(~Bt`4VbmQWfg*5g?Q&kn_||hk6#@HO$kRE73k9sM=NQ>M*eRf(JmoCRp>qTxUI< zZXY=y4p(uxee`vj{(*1f<)UjM5@sZYq0)_^@Yu3@Rj%B3{5}@tYS(Q~*?!J|yUVYB zjv4;I(45qW82@_7=mdm@-YUM3JrR1-%iyQ?c4jn(13;@)+Db=8#vHHl2Hqn=J;Gi> z85f|Ma`RZ9e{>6Bz-EtNvWuYSjl?+)5+3eSx;+1gq^UIi1Cj>jxAjs#j)MM73vs)$ z`H;&+<5z_J*qa49I~(S%tq2qkS&Ee!SKJw7{T3!(>Y?x=M!F9@i80`-uP{wwlr0V1 za;F6Fy@9X9<~v-8Z+#c4AQsroL7+R{_}Zk^@#Y*lGA)7&JWLgTasm8*JC3IQjFL?2 zhxN-fM)aZEV-{xC5rWt@S2m_Qg+l=FYV8TLAP)NgF2jN^?num$Q~T#g#(xC&hL1(S zQm=KUP6YJz&ImLTPsDikxTS@B3tRhCYsF;ZVtK#{9+1bzG}mfXX6_p$B`Mz86#T~qBOZ0vlU}Jakke6Jao<_* zXixn^TT)LE9vAnS%D&%NG+d%J8EA8DajbqMCjx2a8I`weDhIv0Iy1@vY{0;20ZSmp z6uVmrrdkgzEZZc$y5-KGIv502>~n-|VP>{#C_*s;U0yClX-oK0gFh6lT72s*ATck=V4?5Uj7!pEN@JN&S?h~T!dZ_6 zWVjt8VAeY~P9I*#y|S?j@a<7;EQv0XnC;XJ*p$uJb8~-MEUh=NV%6bm6V`1EXD94R4QipD0W$Dz?Rn9+ zO4f6KygYTqo*S115pf_?RNv3LKsKAO9${$5`AW^eKw;c{OI<{(^>wU^7Ka!~Gd_ID~o(v2J3xVT9BB zbstcv{2rhZ5HNTyPr5td&$ww3 z^OBCRISU7X@7aE*$3n5q(q<`(c{}w^@rI&Zb0z9E(r~*#+deEt$AZZ#(4$p{-_Bj* z>|zv#mc!}%<{Y1=tL^n|U@>o)ITi?SLzqJht#lpK6iKbjG}CoU<;9hiC|98ieR=yk zK+ESVOJW-XWZiz-h0HgWS%BHzY1V>I^}51Sqs?^9Wxi%2;i_usOa=md#qjRsh6)Ndrhz0+>A)q z_g(S^D@n~J2lBSH;>r+WeFG8J-4+xk9N$ZRMuhitigwds+falQ@HmoYKNp_mGbifH zcyh2(I(5T-K(FMv zBP7bGMEXH$?h>rOawouxIi+aQZo z_?wfGDAZXQlehv}$7b^lu3VDcFgA+%a4CcmX1n}OuUz6~YtZQ>Sb!}yTj8%7LS3YA zjV33U5&E8OHKx;4jncNu^)2cTcorE=2B~@=PcCVO-cq8L%AktE=X@UD^tERszfb^&aDv5BpEX)vyO{gy@dvmM!O zJbg&i?9F#hUJ;c>Y}L&5xb8#HN)ae4Ipb=L!xnq7-jXc* zk7g4~O4!)miZWb9A5v?P*Chjq>Y%#d(*|Vo3mo=L;-P#DnSA#l2yR)h7(VbUxUsOS zq-VV9cUyk(q{}rHytff5olfIJZq@nj;!*reb49)T<(mliKgJrTEq|=iRtaIAo`IWT z4tpcdcqNlG&FuHi{5fqL%irX)Q%gP3uPq(Ec|T$#(X-HvF?#-rNtm|P=k zX6nb$Q<2VRk%ed&+UH(1>Y|%v&7Yr3)r!3mCm8uCR12ob2uIQ|DAIqK#QcbGJn%A| z40m~j|GEsnnWJ2=<2SQ#IIFv;h}DJI3RCR-Sqm1^v=@n7nt2&2A?{_VT^}!s3r>FG zikQBD%I=KWkJW`l-O8 zYy~qAsVW|sQI6*(gIxs6hySp9=o+;)^bLShx0vfEbrXyHX{xj_9J+TOfCS;DMS^!O z-CJDiOuoLX4R*8RMJbocO7lwZ=A}*#9~3A)9Qd40M7@_<-dDrXTh{cslUs8wh&42( zY`-FI_*TUpN~B@EwEgPC&HcbA7? ziCT0wmsfmjj<=Gy!i9XHUDYkLMSfa)Vqy<09++@}E&3U1-#c23)lRj1i(hMtuOvGW zb8HH(iebNO^*bFjAK)`JfVc9|!soy7PhXnxu#EH%JPI%D%6-`scXA)Zlbds3+!#r% z#1i6IICpvIvC)6&uXNj_{l5Uc5voIun@|B6@MR#}c#HmNgnz)694TY(KK0| zp6y>@AW7sAh(G87rf$?BBHG_{a_DvI%MzI1>jbkM*%VhFZagwyNqU7H6RNRzGHqa41yD=ewg&YHY24%)+O0`r$LeC;4^)+t^$rmA|L9B};p zbx+ykQkK3Yx?hDwC*%yWH_x1I5rfQSh7)^KyUHbN)-Ff%yF48C^NWa)Y%~U zF}1k*JgqI?L8*uOX?ZVrbut!}+5WMY*6$$rl68K`Myr&VmZWWACj1Pi;nEiy%?CW_ z*7o2|w66J$jsiRxp34<1Vv>lVMPG?Hm$TghJ!_&P2GaiLDn~f!Ql?wZ2qx@oFCc`n<~3Hr!;*E!UabA+Uat>EU22UvtG}z z%Jx>JqmGS@tzg5=e?sO$%gc}@lwzg$#{ffII;W4CF5j8_#%;aVURkLK!_Cui>AwLS zr8m#ia<(5_6J&+&+8UD3cpMD%?^v`xV+EK`^G03TwO(r#S59Y0<;8B){%spgkv6Yu z?HP*NF^FLHY%lzI(wcyE=<-~ZmU_(&qeE9}Vwn=`L1WB1^`6EC7o8v2^T_)zU@yS_ zoAL&A{<7A9^q$HeOH=}l77$dc!t(U`@~Hr1D$my(E;gH8Z<&7fB;trotOeQ`cK7Tt zf36T$YH?}a)|b|DfA)*K-8*nc{R^j8zSAF6`F9)G z>=fCV{F=!M@;e>g(|;4h$=y++iDE{{2Mj9xK)|ZgvUHI|oI38v0uJ8OZSc{S27wnG zcGxSPI{GMs(nC6NS3c8Pa&km6H)&finam?n&)7ODz)nsJOWeI~usu_~;|M&mt}}YH zsaYwFc)~<%wv0gy{dD4HHR{KGj|-TEA?$<1M_xCYvH{FpIknMo`PSgBwvl_#eaewG zWT0=lc?4;3Y9o+oIw3ji)mpvQ3u8vYAM}2h12oa$g(X|Q2dAe~Z`xe-4W;-YDGm{k z_=^;$*H`~HDK43jO|h&05}St7i%2dgKKS_*8|02}&=<8oQ7I@8-_-pn=1v)n=I~&yA4K zB+{MJTS!&j_4Qn3Z~4j4?#|hX{l}07h4x<%9rAZHL|6CaC`8xv`%#F_F4cCrDakFC zM6}wJS5Z-k07G2_X7k%B4|E5=e(SK8qZLwGEb7uV)vpm1ou&J_e$DHk#7(FeKfX5p zv8lX2&;5Cn!QdKCTU3hI+}kGY&~#leu0HIFt!(>n1T*A{_FQ5rZ78sDLq$q95;S-5 zzhWv1)IrdKSKtid53$^7p;6J%le>%}9>bi(5H%J*!+LEgkL|`Dg?8kBNTw@lwqacN zz;eb=hyovg^*!8QzRKgRYXw^@Cz_hH1BY1D)^bg$ptNWT`%Q4#n2EAzJC72 z-e;V7ap{C@6>FRx9N9Uf%|W;?VFDVv6|mWL2x0T%6fN?-4-YAGPk6H|LZUyh3nbCqHk{Z5$noNE z0vbE@XO$RI6Q8&yXG^W8Xm+A{BVE}8f^ak}Huim=jJn5BZnRl!Q}>2^r#sWodTcWX z+?UPEYsI;9<{S%#>zCPePqq0XO(Ggz?U#o^;btS3FsLgKk$`6hc3o>zxo5j;>abm+ zdOqh7hPWHz>I*@hZ=NE$$#h<8a}*1v93-W-yeskYI;P3E;m3}uM7*Dxd=@NyGst2? z-?BSQFNkW(4Vp08Z$(r@O8*7Zs%#>z`HQvYymEfXWs#FpG6`CTaM44w^Qss~dVJ@% zbESux7oTmCz<^5l(eCfwjDCQCLOHl4lRmsac!=iCO;cpE(~;Y^&pm*q!F(p7GXVqHKtswIU3`5N)PF#Vv2}kay~Xs7Sd!hwY^tN(`YA2et$3;U$`b z?P|7)ntWN8m8T=>H<89Gg|lNQr7V8av^u{+Rom{RZ}P7UF@Zi}plUVCvS=AbkLtMo z0sL1%StOUiJfOOKZSHkeEvvi;L3gP0H1V@24EX{eaK&~xVHI!qnc8MYLPGE@0_%cN zvE>cqf_+!=>#c0rgwL{EK7BhkyW!arJkGOBcGpQeRXqi)w>KlvEnOQRlQlmLO=FLr z3;RYzvq28nMUe)d1^@~`V&)xl&0Cw4VH({7zSDJW#w%q9)3ce**KK}|c5GASwp}{& zSr%Lj&%WrX=6JFEw)@r=)Dh1n;dyhb5pyXKTa!s$ThlAaK}TV?wk+lZZi&xs-muXN z`TCIwXCGslaZg&puE;wDEK%w|sO+{GeiY>KQ3L;CI(mpN3A_k?5sb%o|8%01K*SKf z5kb+yyA>|az{0M?_v~+kySf#;vCq_sOWx~PTMg>&A>JTPuIH4*p~SSCKLA+`y#9zB z^%dn=AO{G5{<;9vPw2dD26vN|y5X!XsavYrs1`(ARu<)3Uw{8P^yZh#7@&AkIzOyM zehhyAJ;eGAFt+}iHlAAczx_|R2NGwVk^T}I2I_iGZe%WY=zwk6V#x`<(65Nlo+*F+ zU;AskRc`Yy;?}^SEU-!ua^s}3?BAdM)Y$zSiDQv~bd2Et$pttrM*MFRs2o?3((SZO zLC4j_`r^es@Z`tYwZ);35Y-4|%3Rv$fSg4`+u*2T*T<>6eg2_%fw7W6>)ll*fxC*1 zd+X4#9GM?n$|8Hsvg(6FEu6dmh^_p9x%W19RHuJlY*Rj1Tw_wnaERCM@7a;YyVHNm z&#DC#@>U%HSAV#CL}E@KJ0)z=(GDlvj8-b;gZ zL0z&hv{jwTf+6Qn!w4N3gtc|yy}~1cLk$dqLn11_)-+w->TZS$n5vjJhIe~Z`0e3y zueBbiCny2rsda(w{zPFbF;GQFK!E29fC>~eYpxv^bq8O?sV(LQp>Ya8F|eKHjoGOK zN1Z!e0*A}WC6fzlO8U&58TXq-v!{xllriCsR2ZB?WX$i`DS*1$D17=g`Z)eZYgqS^ z54uKb7vJNaB&C5KTGu3_(#^QjI4FXT@Tcso2!hMS`EbKz0shqE zia8fhc3iuc6Yq(`$@(GEs=GbEYeGas#F_nR>d2S&blW?Xz{`d_1$cZ5Y-Be8bw})5 z89U!Hsh&MDt(pz37>p=CARHOvGCJL{#Rmy;!mrGzX18gU*l*RoVr*9MWL&%7nM5nW zZSLRBh-0JK_#D>f06*)Pl@YKtQ@YfOmPcxB+bY;a*6!Z;rV~Z3CjlaQeFB9L<>C}6 zEQ@M#gTbjwYrEya<6(?oVThjhmMLJHZDj!OTWcFPRtN9JPnif-^P>k{5p`fec0W*M zpyed#2uM#$Kj5p?*z7C{Zj>qvEUK5yCrQW{i$Z0pa947IAA%}^Rp8~6%&7aMA{)l{ zL3XLjyzTQ{wyWkPCZ|jD%72z7{u7}pkGFm9GuZ-1B!*o1VEsR$RAJ{cr^lfwRf0F| zC8&ih2E;xfg07#=I@hQ32Hh6AV2GG2c)+gE^8Tv2tpbzZlE&-dbgkZdbG^Zb;Ew?P z6Blyd(+j~9Utbg<2ZA;~nh7n+tkj+d)eP`}|JE#uQJTNKO!H&MloRRWcN$`&Hm)~+ zyxfFP3dGX~#Ea%9#EXu+VO(I#T^kBrgYWHp*r$6>3DQ}CZfVM|G5K}Yn|eEI zfQqhP{}wi$#RL53`QJb(5E}Z^6QZ|OsxB)t-t*)novH=C{Z&gn#JFx*?T1d9j56*B z<%#v6CN%zpfQjrHOVodP*T&-OA7$2cz80y)>TA}7a;?1fWPIVd0Rq6|Kub*f= z4OZsZ7furle2qDuFXZA+B9RO+qwAUs_f)$|xi{y$vja#$!{bdD0-iUHq}K+_5QL%? zhZ{HT>y5shYztXNJ3*tomlAe}cgO{28McsXgKjFeuQla-U;2r6T=A5MNQy0G{p$?RS(=ENo#C7t3zq34`l4w9vC$?rVCpXeoqf+ zx(N^)li0v>kPepj!kw>*DKL~44W2zh$#$Wl^><>^5+q-k_Nll#;h*ynOxizZntFhh z5cK=bb`Q8r)_!988D#87MH(8-S@9rV8ho$S3!O4$l*NexSiHTf{VS{FnCMw|)j>r_ zGp*46KxBEH-^kJ)G=3_=tApsmQEB8yR2e@Fb zXp-i-4VL?1HtUO_vU)Ct=m=S8UPY-wI(ls2!)C>H0C_8r_O%V-p2Cjx?I+c$1X;Rn z${!pMR7F8Mmr<=YRNVV>&!X`jb30C2tWr$HkR&L*5@vkQf=}{R7u+;5 zN0cT><24@>Mdng+dQyCBV>JIh9l_1mY?b;}%kG<43K)vm0OFeYg1rfcU5la|o2~rs z1x_X-0hRdPNJr8&`B5~2^KhXcsh(_5w@{IQdajcT>oSH`9uwC%v4@sKSOGm5P{?$T zvPSAEZ?cG(#@9`~_y6O4)F|*;hivYq#zfv1PYhKTP>$(M59Q1(Hv2B9rteRX&Xuye>(JnnCFLUtW74%G|S(a zyuL9gXAaq}GYj-PAG1==t2&!qjGM!S0X#9p9bpL1ceIqw7joR zR+5zMxYl+_U@{~mJ2FrUGsr~@NUz15ezAC#%tHr+-aC;>@%EM872FaCGYgJBgfb8g zLVzHx7gNrFYVL(=W;3)m3@%O%mDH3u=OH!=z>Vns6W|yFd$01k&n3kR&ZJ_}yXjdFxN7b}z zT3fB6q^&?pT1x(Ml19XgKNda)@B`rPgll`U`RlsxC&%1J+*V)7@5NiFZnBNGS+yN% zE7F$J{fuff4kEUo(VO3_%(yo3>B~C|izS@a&x_kg`tD<+aQpfXwIbnhk(LpwKk2aAmHi5R^EnQs;I&J3e6cbSgVYg9k#~L^9 zX#gxcBZ*($bBR4R5(I3l((7 zAOcd(pIiJ|N(3nFqW(*N^_$W(|D}}s!|*yvxq&dVqAk4G|UsPJvFt4HNhbK+M*(UESDx?{K>$!-KH+6CsS1o>H{T z|4Gw(?TS4HewI)!*)XXJDhXKW^>MWE6UMzLyk)IPNl21t1wr@6sfkaUEreDxT z*j0tX$DqLv-8A(1-`OG~k9J37Y)vI5Y2%HN*cy>QC0ps!ST#mc=jS zt%@bZ9yv*k>;|l$Ql=NaQt3<&;14JLZqPVbjtymY=0cP#&;Q0;HI}fu{EQU=b+3<3A$`zYr)ECPWUa0OV!4B`#We>}qw4ShP zIc)vV_G#s)?bD>Azp`KF^fTO&V<-#;+o$A(TYQfL1TmCvKiM*~lKqbK`G<5Fxz`4{ zP^An{3}l%R*1yOyJZ?=cn`t8_oLkTkyc&;il^py0l=4viu^WE@X}9`dt=HLZZ=rHiJ_`fxTpXqDcISzWAg9=!@_CPxNIu zPnU0Bv`ws*y{wh@!69I>O*%}ggeJDIy4jPpp96}!;Ui{5=#_9&{8zY#&00nM-j9SW_Yu1_qA7I2yK^@uT)zsiOX+TTg1ND(v|^eoSp zpyZk)hDaQ`Lv0yaGD+a%ZpAwmmIT{+JEzb(#?7EbW2Q?`>1aXTR8!jD4KRQ^=g@*R zog$il5UfqK$fh;Mgq}GG55UQ4b`#PLKA$bVq?ffYr4&4uWkSszl+Ilr0Zmmx^Obra zvN<9gs$KNaxkBNeBTO^Wf=s*tbn1BQ|I{JP_6)B77V%1skp-|Re<6i3Hd+`W;!w#r zp$Z%3-Gfl-NVvLOdA~zW(-+2k?OX4znshGSDpSj? z`f6__TeFP-K0@r7P$6vPK|@wEAoMm_l1-6R_pZ*Lq!}>yRI~uCljH@^#wTO_wcow8 z&x=G2DLzmq8c@pQrc#llLyIj-~qoWPaosKb=%R;)fwkRTqkZ*Mno?lnSUCzs2G z=dRy)nlGa$sc+e=&g*aQ!&D)C<{wpQBBanbuSckdg$)J{2%D9s@tk~b!)oZpGa%SW z9mRgzt+)DcVc8*WwS5m?#1a-tvVvu^+>tl@hEcC4JShK`ycsDNwlBCVb_JeB8i2qQ z`MNx_WYFCg?J*p>0;u0eYXJ3IqNtnUC$*#Mw*%3sEXQS+vzMRZ3KXD6C)^{>@mqAwuQC3^B`;!MSM8Xu}y(2`=~R+pOx z9AMT@R5$I2a}(*z-iEvH$R3!|ONA=YPZO<^$)A3OtPxDBa{zYwED_SSDg0&T<3MAT zI`1;6te$b)Zl~h*ZFgJUimfzNC1v-$G^Z+>O9D3WO$hq}@z&*$8#+@DoKj{7#VU>F#J0m)7ZEj_9Bt5bvc)+up92%tFK-te2L{WC5}S4B1jZAck<&W0#Xso(NL)fF_Fu--*} zwdKE)r0&Y_B901bY+NGA*)(SEH1;(tG=iW$!tMO#2Mjelz**T(cUqgWVfI-%gL2A~ z+PXiep82}=#tYzUuY@Him!(R{hA#M$k7+z%lhWk*Nk`i#9p~b^b&rCu;;1lyzBfFt zU8?B{Rnj*LG@|EaEy`3$C8Xi~Xx*Oam9If{u#_#jyWC{GyD^#LCe_c~;~rY>*`vcC z_~z!okYP@5(_-UN_gwAM`;libwC(Jv#`f?^S$TKM?p^QnJIpvX+U^9FYOd|9#&*#Z zlB~`LuANz7Jvuhf4DNOv28VhvJ#>1hi^%{PFpFXI0K+Rw^KNMpZ)8GVW&x`s>|UbQ z6ZuqZoBm69MatYd{7!?58M^XD!O}Yxg%xZfMKrfzwk1$5VZVDs7&7%Tb}p}!p>_pd z4=_Jnd}P#fC&`2&`g{!0(6p)^bh+<%jx&)_XnN#!~p`hSY+4_mdEX} zD%Z7He4+|);Y}G32vfvl%_JeikDIFVT@98Sz6~9?i(8lJmZ+sq-Qf>AZg z@rApa-O9QYm$XO*@z4q;#Oyu@(j?hk(sh^IZadj7UzuKG+^BIb$2LV{ufVA9(g(qr zxy{#JEyUt4{T2S?0xTJJd2vckej3ZBjPrOqz~qh#_BnlWq2*&_nc4;YG4Ib`+uSy7 zC)mn@m&2fIOalx_6t~=aI{+K=zB_bQeVrFV_LX!k^rL164EtuHGq)uo8d`L=w#SE7 zWq`D%!H{}4Je^jCm9N>lf#zO=sicGB_Q@^Y+3uy?1Drl_cr!@|*B`i3ymktq+3$hU zEw4j|{B(tbHm1|dr6xbEvf8ce!|CeUyvSs896avJvP8g`2X`s6Tq%*N3jZLw^QS%g zW=zd}X*(wRSK!!B@1- zXQ4un$S~XYf`@Bq$*hQlD%F3=scCt7r5kyIoQ%#=z3IPPnv92@pp-MzP!DShbN>Ta zE2UM3w|*h-;e`_?DtdY1Pi{LuS7Z#5758`O5_HY?CrST>Z>ii;^emnhDM}8%0|ATh zS=|KGOFVAtCC5By(5pm^Pwd^3s-fjpIe~h-C*bW8RyZXk6^X0she&0cnI-3J`!a!& z!Sp0hS?oVa!VKFdv!KV^w1I>IgkW_Z(AXk}_P1RmI@tyeX})%XwMbazWBnfnX(T!;Jf#ddE4{bY5UCqL#dgx+X!%mFj=Lghcr%s;iG&CH)9 z@l+E}Ngp8Gf<7-f zNJr`2h&Cun9CQe}c9i#n-kK=oH&WL+QVU=qA#yqd?=$!oSJSkj7b^pjGdezh(#_*L z7;%vXp(#nF;@7l`W_Fu?Hf0k;eH2hZZ@~X)5GzOEs0kCp-Wd1!qbLVD=tI6nb&?A{ zrLPcx{}Kwf@QTO@|E0Mj{!4C${!5886%xm4babBn19XLT3cA`v{DiJBwxTl?j`JB$ zA4aL?HUw2}W$kAI$VQ)ORo;;nD(r*mf}2E7*0(m`QQUD#PT;iBX5;}7LDMr3clR#-fQgtlU76|26!o+$HvniJysNQpu0JR`2n-{P%Z*^GFgg(va`(0)A` z#iae3-2SEg3IJi!e)XCK9yMX3`!pg80z1W^A3!CzO*TA#?TGx#J;F9#?U(xNb?1JA z6JD@E`sd#J*&;w#08XI@1bIwd>B%&JZ6hdLP}5?RCpqzq z8ZS;-xMxt|0QL}ib>ravDv8;Z7-xYVY8ZkWw(a0c%VU*TXGJx3%pAQ{+u)=P=+jy# zZB~k8pQUnJ4LtC|%G1q<`jY-QxwA^l({j4kO9qa3qmLaB9XD+P-qWN2ZHk`2P@Wp{ zdphk64tl%4^PTg$=Z?%liWbeknKsIju=-RWw~s0^R3_4SSnwydG~+JM=Oh7kQ(0Ra z%_#(r2bj@R3Gmgo2FhYXe(XmPVY3I0#%}DFcMznoYggcTEdMF~q5xhVRnvf%R1HZE z!WzSsJ=BADQaKI*uY3##wt67#zSWNu1)-!-{tsktVcM3EY^P4o9(z1TB&S7D6Fh4w zC3$E-u9^D+$9F=k@NpB1+KmW{?v?~Ma)P1Y6SbdMSQ4(j;QK=V&TOiQOaOv{q7ES_ zDj75cwfjRO)7^$w=`RZ+YulY4YGsBCIfZEDl;C267OC3V?n)|2eRQZY;bxFNRZ|zhmBLT0jc0-{> zQ6y?u*r)mlkW&g#ytA34WOH}qFZL&EYG?6Jp`zFk`JO2_aFWcNJ_-KQH^|7E zkKS*NoDbG_KSf`WuS|{bCEls=;))^avX{9p7i(Xd{Pd8uoAR@I%>JZvJ7Z*qRFW0MS+Rh0qI+_p%=BroboXZl6FvJ(`z$ZuBeXPjP~6~XEHel{Z<=+C-*LkB6CEjghb>)omT+{b4Bk>T=A z+B~Sue5|fn+7|+*7O}iPoUD1_MS;NnsIJH6c*FpoZDp%oNPuIP^p32=a$if6mc{fo z5^MQXbIZVYa#){Il}&fI$eT1ui)lsBcu|lJe#YRhc4fOJOd} zen(q-^50JAuZWe@{b&J^)38rXC1sdnpY@oL-XqwDc!i6Az_Rwo-#$NE{7lNXV0|NK zHqB$P<1jR~GC;v8lVU<`D_2+sOBWdpC-VxAt;!}@i4k@?gbe**mZO80!pq?57#fGw z-sY$?VHyCr^iK`_!g`P;CN~$Vg+^vj<<2Jt4)Ig@ae(-2Ke+$e9BNk z>Ok6lvt~5ib1*pq;>aK9C-VTTrIU&)u`oc>_(FfqkumAa`SS8UF6u(dou#xvxP?NA z{78hXEWk;kBFO6gjezk0Fy>k1=(TV#u>eR|w@#%d0O3K2va6<+y^MKFQBQ4mSG$cv z-=kE0rejo=3r#Zb4XDBZgK$E$L3ksE|4I_)k6&P(-Q#^LweiDL(KS-{ILT6KZ%#TmKZKkHgKd(gW6 z^5EjN3f$HOws66%{7E+8vvHiFH_ntl!-&yPv=#OI>B+r-{;b@;$jRS&#Q#HMaS&Gq zwg~R$>n`xUtga{Tcr!noE+SMzT1I*IR$l|P6r2(j^djtikNU80o8IQZL1V!A?~L{a zo4=oZ12M`%c{NX;`MyDLV_1O(_%Pys5jH$ZiTkfLF)I=`;M$2WkPPvV#uweUo@g8( zB--D#w;|TeBzt>7)c0LNMN$fjcANOY!I??q4Jc1l^<+eYNmyRr{vZ7TU%2I@fG|=~dabM8c88}m zR&HqG*u>bgu0J1L;fF z1x|}0nV!Wm5?8Z!jJ`;#_uZh(dMb;#9btWv{uxhxXG1g1sV4(Q3*2n}Vy^R>2RAQp z*FVqBe(kA7anT7m^&3rE^yl!#Xm@OE8>YYbLFkNxJRG!)m{!k$waSI)628yiUmVNR zj$TAXlxK8)PSnohKX3(HY|QA-WM8Mcwq2DjWtN&T{r|A{)?rn3?YcNBC5=ibDF{f1 z5)$&FBGO8CFO=>@g8~AQuOKa;Qqr*KR#I4mfaIc)Ty)0*esh6A`2D_p_Bs2y&fe$! zmy0#$m}5L6o_pN){Qz)L$}gYnLmW%k!LK?IPsx9-^eV}45xb6^} zZ!BghKqxAy94}w(;I*l<$p0=P!$)n3E;tL2%~jT7ni$@pe$ID-UnlyYjVQn zvD7<(QahnNpGVlT2x}GlUk(%rb~kbD#42SG)!NdMN}ldYX9nMx9`y#jzP?JyI)koH zH@xn`!gsiMDH8l9hNojQs~*B?Tr#QamG@p3KmxR;3+Xaroy|@^WtZN!N07n7_C2d6 zI8^aM=!o~WkT3JOZjz>j94x&}$YH<2{cyUQj0?;p)dWaH-je;Ki2=Ewg@?l+@l!)% ze7L|z^yE)1qZF}CxjZtfOI7mjE&}!M4u9UaRJH#_P4yv{z9Wm#*+_4yyf_BVE<0D? zvreIK;qnM^fLq8OB)sthyXWV`R6WqV3n1u%4KJrL!22akQprXkc>`Qi8O~t zs;&zwH+A%Ph}wCJr=Oieb1~FxMcE`S3D{;=JGfQ3m+JUrukCZaHL){!RCZXU&PsTf zSDVO0nOAEQmbcIWL(A2i=9mlUh<(DWUjHIQR~IhPVSIKrl+pUe9BgL7+{dgU{r(Or z#quY!e_L-}_kgN8)P1$G;#&`3#9Ot?#5~JZ>9~4x!H?LtOQSAbDByE6hW+XQc-5E+ z@pfM$yDuyjM3qra6CiIPU{lfBU{TiBQZn;2Yic2gwn%l5z3tvDgJS8oz3WB2U=dTG z*xi2WojFBv992dW6X%7ZdU$a9jm#uSauw@g%6jS80N?W15`J0{_OjiuWt?-qR$wuH zI>_H{12In(Tlr*3v-n%Cat?m(^i%Dnk*C^II+n^A^i}eKQMR9wS&Z7Hs1xa-~%zq%sEXtSZ>u{bcY*;+2Mix z*j5(iygkTXsX?F}7F=z+A~NN+|HOH%h&p)wex*QjMAE}{;mP|kIya30HVrmZ-OeA9jnm%#IHbf zH9M@XpHe%#p)L^wj27%L8@c(b?2HG~=1Q5iOD;8k;5BeE-8f3khnIag-?B!gpDfx# z`OrSu?P$D)?ja_FtRQwrD+b{qhxyvAZu%H3A6<4^&Scc@jk@|ylWz=Gm z!$gbj_nr-6K(&h904g^;FuBUwMxXtY3&2C}?WyD+dQiS(=JC=r$;?e`IAt+WG9@uo zm;WAjpK*Vst);mgxvuuAWnkrN=JNyGXF~R}N2GnhhCV*@4pSfswKD;()}uR zZ>NpQ-DMT18+^~gT;NrS=JP~`!H5qUTmlNAQh%8(s~04(zKj~fHD)U^N!218$vP8* znt%zjfVzce!5yY2*CO^xc?09@Jc`${x@2rF*2YbM<@~7N+IekXm}a8c7#<}~8N$lL zxJf*58d5Y+2I$VT6x$;bzYgvk?0F>_gQc^Pe*Sr7rxtF^eVIM70`yYpDxEK(dVOX2 zAL0@}L%x-aYLSSrL8E=-<;1cuEvF9Q5{cgjhNd7)y$(W{tekizXH?*vrukr|+`Lwn z#wb&kXP$~6qDI>dvEHM5u*hzHF68TN(ji74YH#DT&_^A(TIewqI3_Z~cwz6oI4+!N zrn5&c`-4!NVeDJ(WTPvfOlme*L@RELeYFP0z1f>pQvuCMU=jU%bBNqwDl+sime`%8)C*7$CX{h zR-F9kWuHFpI#c5K?!%-tuaO#oF6EghB0=ShNrcQ{;MLz@vda8iJE6fmTqaZamYj{* z%x#ESdE4nuit_qJj@OT+iA{+jcyR8OWUz;io5<8tZ?via;U0S?+{>ta8~OXls)WpK z(}T^;EmiF3`_w1Cx5a96^KT44-6L}gn@=|E;yIlx^q9iL|9DS+vv35G5Z=V6oftU0u6R z#o4!){`eX%YD1{lW+^dA;2lSjLDNyu^g*dRw#;H(O+C>U$@s)}02)qg>qR4O=;x>e z8--c!l&Sa#Dk5R8-9shY@q7e0vsj4cq~{EZn>-J)U{kJy+FylDW`+CP#=Pm3L^Ns7 zEFX9?(kxcbdWyNvnZO`YU?u6|x5H@`wo!A&EiuZToy@=z;CyEA#88)KJIQ(`cI+Tz zL-k>TF8hlHp>JAZ>epoWNi@(7O_qo3mhZYC*2Xt`|;=%DmBBfL=g zbj%MLz|~df>zM%oT+RS=F^&x9FS7P0fP(FCy?Dj>5B27xMDmZA9EwQ(3H0EEq1FFT z0O`MulBK)3y*8OXNh#ojkXPGU_PM3J0d`oLO7ZvKGOq9y+`99Ie2-NKG~>s%bAZpc zh}V}-NO`wPN+$h{*^s+BxsteAa#~98ONI#1nZQ56F|jS_)bhdX&}xPYc4};Lb!x;+ zg)$Y{Nz2)A)a60d11?UeM4!*o%IV;+El#7Tw79#(T0n&oMY=nG{Q)Sl;$goO!@t23 zcC*_Eyk-2FNeOJt>j=(6u)D40U&PviYs+|ZCsZIf#S3qq3;D1L;VtH~O^cFp6jG;uIr_XX zb$(hl3a&Wm!Y6`IHh!L7=jm=rR14zzU^!T(mc%m8ho}6JKC|UPYSLo1?FybqIq&b& z780JRWh(4K3tVaHF8mr>-ZEsOb;WaUVEI5C&p4=2OB)w0mq*Xi_6i^=<2GVdWOdy_ zH96B7Lf10Q(cwyo2tOS|iH0Nb9rXQ~-hj82q>d=UWVG)t8n{EB*r>O^2wT#u~<;Jczn>-USe zMjNPz8_UNgzjHL!u5;jLKfxU1Z8Yv7(FbuFB)G~JV(PIf?$xa20bH@&`@hdh169=B zREpc3SR<4F4)19^hWFrf19*?3a5H~as^^J#2jQbFkFSce$!q(YuNdnv@j%NX_}*9; ziAXKO73>*&?oKAze1@Yf3zl~d@f1M3g4=d7U?GO7#y+>Nc0Oz~I|=1%$Pn;m=MhK1 zMPeDy?PcKZ-LYfiH3ba0I}Ttn4VD{8K?M&lgMJi?9YXhTBug;jD{E z4$7+yMMA}z_^V)%X77s|VgSGuf-IDlr!bL3P^)@u5dm;1Xr`8Z9=4g|kc<+p)N}bH zhA7pfs`$^gYYL4JaOEfyEE6rO6q4yd8m>JzY<*9e8EU+Wt}3o3t(YuE@Koe?9L)t$ zoA1ZN-fm1=O+S)?DOGpeph$Uwr7<<`==67)LRs7V6G;1f*W{qG>J$6rmKZTB>G8iZ zCYiM6b#b}{Yh#|4k`Zl=Os!2hwPek)?CMMq>5{=k-@{)i;Tk#`WKEd|nM&904{Y#Q zb-vl(p+N|;`S!`(PT!xBP*qbe{n*N3#H~o@x?y$I(?Rz4(iRp=SbK11b^gXsPxREY z9n8CnQtwS9Udc8q=3@-s++x#UGPT{kPP{jVO^KL;ljGp{cYRkD2qqCI(Xd00+SkY| zv365Eul{KNB7tRAS0?xTp|GuXZ*JH{F++0@(eLKmt?5)oU5HKL9s8v8mN5v*_n3?2 zxhArQ#HmD1jys{k->7Z*nvV24R#3%;{kjlEwlX zBp-p>khEmk$_uE=amT{4?7A;}>s>Sd7$Sjd?oOc}h5i0Jiyd79*C(aznHHYSV*9(? zG6;Pk4MB*6T8u{$8%g_v`^tJNHkp%&v=Aysr3#vW5GNHT-AAU%3!zyV=guY*fbXs?T7CG$)!6HD-5QvnD6FX6pg>xBkdBAZ)l z(tcE})q@Gcb1cM>IKprH60 z>x0P)isro;Ql{?7z?ir<&6sK_X0P_x7x_hO1KWb5p$2)u#-Ofkv9LtZwAX7jUy2Sz zOUIK#@I8Va|E3St@H)#Ni81T_cU@!Oh1p$Vbgru##SFJ^&IruZ`q*+wiG8GZ=Gg7{ zT+(Ib<=RqnwUG8-phBFB#`6u7;Wi3#5$ZdxOs%^u9Vek1d_4fViM{(ZH0!Q1TNFi_ zxOZ^D*30nD@M@`LbnXaN;jTZTLf9UB&z{1~a(Kk(B*r1yo5}5YpsEz}MYZ|c5r568 znqzoxQ&vQ~K2#F#vF)pfii=_G(CF5{;UZt;Kr5C!oi>61;DKtHX!9m^rpf4Y5Px4H z#aH|ObX}V-sqP8ge-+K7pb0Y4XC@P^-@pw|YQ^p8!?srK*1)@&4&X|yXU3C)ur`sl zFg`IvO`nUbuWX=HJ*mG!qoi6<1LJ9~!2}p)P>_T}QU6dxTnq-2F`Ip8G8*CJA*<#@<3tGZ#F?OOBRYUSujiVSMr*-J1>6AI zI11^QoT{)6%Z{*dQjABre6h>mvyzoj4fPx7j^3ThNdp|c#Q@|m-#ODf08+~ctyqpx ze^6w+nS-0&dIL~WAxc)$A2#govMgAW6$%OXLp!`W`4c3Qav;RI8HQ2wsRMDLaX_go z`ETSsjd;5?3IM*gc?Mr&!_-T+Y+xT$7#H(5XnP}H4k~B6-&=_S?4{+d@1Iu+N}=)o(Pe{C!&;gZ?%``8_}PDYjSQw< zp^I&{iB)@KsC|12u~vRRtJD1=YlTdg%&43fHi^SQ7QHiX|5nN)e|v{tEJ@48Y2R`C z$@2Z;BNg#6kac1oZCMGm3=0;Uk3PLMX+2Tq5|L}RU|jO3Nc>erZ8jo|^1vdJW`!-| zuESbGWg#on;Axi^bo)>-mDOGD$jw(_E&9CdY*;-Y0M=eB%`9z(vQaaQ#+s=E86NSz zawDn5M4QiwIn|%tzAS2zEY>s#gMbQL?r`$u^r@MA}LcIfE+QW;|I} zFLI}9bQ@Rh)O8^^wl(UA&Mia$+`K9lwl0mZQd4#iT(!{;Bt&2QH9e^FojgY8`Q zc!nCi43e>v98@7q=V$kC z89Qmo*;?6Hr|B@qU>%kzTLz0=i2vty@y}B!o=ow2rByJ=A@04-?g0` z%X*%$0>qfzpvtOdd4MkgpbW~{${44)K<48+?yf(8ofa-L+_^HFJf7lToSjGCk2pKV zXE-~GlGt8-8Sf#G8G@rH*o^8hp^j_X(G)bL~usy1#4mOz!#@K%zbI+%|#8% zoR;BEeYNNd!FzHZ4SV;xGO6j6Rk%}-=ofS7ym60i-K?5w!1iSG?$aZ{X~GHcMfnr^ z1kI8Rp%9o+V>hDE2Q|p7=15Hxx>Gn;LOBV|^q5v7t1<2oBS`?|?k7(>MviJAztKH% z?DW$%9uo-PjsMQI9+eoXe4+ETj9%fz59*0K@72YZ#_|0Pw5)8bBMru!B7J&pqAtf6 z6u|v+A*2w(QU-O@-0-x0UBA=c+9x0~P+n;$dy%;yD$)KiuGB*fWO=Rml^1(27Kx)Y zy(Nn&C+9tSU%i7#Y=^?(W-$n35JkNE=DL0GJ*W;VkZ14JTNEk+qbzavL8X(EJj@lS z*G-JWljo{i(g+|&kM@?p9@D&BGqPG3o@K=k36zcCng_Bz0B5GEv#G!%(i}C9bL{!2c4*tl+;PWV}LL7E)OoKY?f~LsJG4Q^c0@mzQLi*?7OV!Zji~6KvHEU zZZf5nUUZ6*1n^}ddRRzZLVrRn9%Pf7BW4b&fQfSrlkXrDAZC?OXEAfBFsFAFvKq|~ zn4IQP^-+inAcTtwYTL)(otw$ymSUOa3pDx0XU8XtZyjN5pUNjum|EOl{*%e_5#sUa z7rv4nGgWTV>9l0CV^d+MEZoP<_>&6&4tLF2@yns$JuK$cf4hZtNOpf~gK`!LMd|TK z~tm{iW8;1`WLvON@p)B)?Y24@|BA_H6zvn5Q#ZsXE^0n8M05Rs9Sjd zrXlqtQArtI^*AwgfphCxj2sJb>ds3H_bE3w&{#qhnxm=uZgrNS+ttv&4xZzhdH5R? zd>=*-G_5Rq=SGX<^vXF_&f-6E&+2+RA8mz1RoXw5B0gNQzlPT;Nd(<1qgKD1D_m3| zJ8)0T-IdUdlBCv@FHk?oC^>g5ES9v6oEZdRgWyoWgp;6Z3p)L1{s< zzxJ@@d((r-biMi6N#5l@vY^h*0W7FAiJjT?hbKvjbKcZh`enKsr0c;=lZ-H-C(6sY zaQvNQ3)ETv4l^bfG6U;W#kcQA;+sduUUSslF)LSN`|!#e!ybvNJfPj#csEO=`*sKG zd8T32ydm$D{wi0Uwf4>u6{QG4&-59i2cj7vTBmt z(QXbE>Su^P0O!RDzaX8jmubB)Q8~xiWd})lc^{DzQM%T*K$0%*bbYr-^OZ#jBT!(P zp3JD5l9!Jcp^<)Pp41e{c=2LQ+}jWzc7+gHX9btQlY|h5jHeeEd-=)00=Dn`q2Zv^ z1hg2^AGC+YB+i_gHj~~{MsX&c1-LA%=LJ;)6G6R}q2$#yia=Ht-g?zgo zm55E8T~sMaLc>$DBoDUy`|$}M-1-gS1N@v5NQ~lS>uyp|&v6n>^=egY?EtuYJ@N7b zC|%xtZt-zhQ$~q4ie?dtZjCGxIbxG}1Y+O~P)9g%o3ovgaGu|9BZ|pEe*v{ZB0FS4&c?Yo5-z27GNL~oupqL;9ku#xa){V$?7H3lcp8;z%$&#vJt zzPV3upSw%^#!NSfXN#6McZBmI7c1Hy@R3vCP4efNE{N;QK+dpSQ4GE&T+DoXOOLQy z0*5=xUs2&6cai`eRw%$NQ$|~cDlwlcCOQ*Nhu{r@((u(_rgNsGW~&`zk-P%Gh(?3V zs3qfKnCG&0%Jxep8-?n!u8qpI0l~*lY)WEov;MThIZg}&fEH;vRW@(u-ueRc%Mmu2 zE{oMer6f>^nE1^m#Y(N#8AaFgQa2Pr(bVgba6KQh!Tl$;qC+`-D{d(PxW`%g5&*A2 zWH##ArAY?U24B!*@Q2Q2TCYsy6fL;N*9kFIf2ezEr5bIi_S81@ic&XCK-Udeapq2X z64L+X3U`AYq-LKZ48Vkh&U`htM=#UBvLtWURy$4Kt%+}oac}1$ry|PC-P|0A`Qxfq zJo*ZGO6_J!uQIwxhS!ZXR%MskJ=16}uu*W~cFb|fTv(az0M))b;a5Fb_|Z1(?}1@)*ew=(Ah(_RJmfZLDe_3Bnr%W~%f8 z>GT?{7G1ohQs9EgoEEi#ne1YkPlIQeO#(E&%JD<_W#M%H613SHGWZ9v`OooSj$2v( zU(D0^w09Lya24-S!7d(Pk!AzM!9H8FS2>&i5O9%m6dmXbjB1}74_iXqRauy@Z^QlJ zm2+Wo!`+kt!K_n$DQ*}8T7g(7`HYfJNKwaQ?{&B`kb3@um7M#BjU$Em;VLSUN$_9M z7rm}`E4I^08iFVf-VnPXMw`PbC@2xzGh;NBYV0)lZg_NJ?vk>qr62tF4=%Kp-RCj$ z@@Zoa?PLPQYz`CqD29Zm&d$K&5j>~ieSpwW);g*9cWOffXfzaxSel?w%mBUDgMZsq zyT({1Logh>&VD%$;L|uv`tPf}q5=+1z@aU^yy^c>cy$cMG4KnELkh2GH2xsG0x$&k zm6J&#QoBVyCDoASzaH_lJ@;*AZ23Ht4PA@@Ej}L4DHJA86$eU!*0m?hF$GS8`X`MA zocc&%@Q>kPTnx5i!`hRn#=yDK7}-R;6KNx0l`~kse&EEbwo_lKQmmSs`NB2c)VAW` zx(s@3-oK;h(7CRMo|V!RiGx}gvVtLEJN-xUeMpsa{C6(g$?NX~=SZr58nzeqZXX^GixD`&+< zgz3FXBsfrJbyyR4g~vJD@yS|q>G(k?`8V>=ippzPdSJR{J{otZrK#;SF;Jbv z4gmcdWqT0}YRPq4%^f*!Gx#BRdPx}5nhI6BIAw@FU`dttjIwL1w+ z?rP@-(6eQuKA~a25JE!9Nq3fd*`*x@*cAq`^sHYh+UzKaXcTevWq~P_K4pc~MOw6$ zyC2bh&OS1h_<^uOI*)+~Ts6UrHH_IztHg}0a$lG?7-KW=hgNIh%^$T|EUKrpT4_5z zjAz=cdH4c;0~45P0>5fWh<3mhIy%;^V^B}jFQ{khDImh4)JhPf$JT?0=F0Qt{4zP!r{;LUPeWLC!FyFXf5xiI4}&P;z>c4zpuXqAk$Yw`Wx zgdbJIBKc{3Eq;=6ErPZhf%)lbHPz~dr>@;*02c+;VUeXyPbTsf?-)4->QU@RHflbv zRklq;%L}jc-u@5peF`T2UJDIA3F!5KM9K%riJ(VM>HESmqjU=U+0`6gQDKHo+pCo* z5p)LX%=)Mx2t?lgvgZbLS2Z5fRAoJx;x4Pq^ch9j!ZL>zJL%!mlk`YyJXXVPI`i%&j~<;|W( zzifB`bN91GuB-*ZPkEV%VqU*Yu+s5>h6TL&T}c~P>O~A(fIm#%EOK&mDQhy=;y|Q* zox=hEJ0f+EXclc0;8cBElG{3U^z@X4Fnf?*TP1#PWC#=|8Vm$qC4M6rQ7#}I+;3g? z{Y{XYRR7Wzz-pZEFApO${PYSD+8okR_Z6e;N{U}t!78qDpE;{#SC|=5ttnyk5RM5* z)oh5G8IXlB0V}D?NsVUHSe!5SkOYCISUz?el7R`)R3t zJ*#pve4eU}wxLXjbKli&ecu!k_03Yg+kXryn{UhkrQKyM(>5-o*K;>#_FbUgf%`A5 z7E>EawrA|bGlPuGWwWw(n|uMP-MFw$oE z8ioLT-0xN25cZ`KtpNw&({8hBzUFm84?9HvY2y*#Qzrq- zuTnI=Rr{+ARKtk*piNl|9*rpfZ#8n#Sb0#N zP(Ji5lBwj~@orVx5y$yNJ)vk7*fPuvlv~&kF=2%y@=6JBG+G>%Av>1qVYEbG>%n@6 zA5A5j0wyl4w^|z*yu&M(ndxuDwyux625$TLTe|1BxF|~RY{T?I90Ew@aD%D2<* zz;y-9V+-jvHrwqyrj=@3zG={By}l#Yotd=FA*(2^mdMl@?7nhZe^V{8TIW&RMCs*b z?x#%&3!cL_b6DQ4n59ffH^>sV{}#?nUn?`UvuqR?-ZhQ#;1qN+`fgiJ#1una=!cxh zwosf0pU&*ttBMwQ;cND^x5CCSqRZipwJ$S~C7r=Xb>n{D<>N)OUwP1z2_D<+FGt`W zRJEd`I%%5RSg@rINCCPwoli!OHAq_-UFiJWQ5mS;kOTQ`?VG+v<2rv=vDzqv^wq`3 z^YllqQEalhs%Mj4WKas$?n3_T#;Nol_!*n;d-fivHe|#u#qi1Ez=&(MN#+ZY+zAGI@L9XfH`^&ff!lK>2O0o_;i+(4k3;1MPfXVNxsLL+_=3 z|FSG{(*&r#Jx6f%#W#J;Lf@$~e~+-JxiV%q(8OaJ4hOUBeq&{dz`+yTVS_pMES7RP z)p>n=s3PFT!Ho1{fu0FRml@pfY|c(&RnEK{lr}4D?FEH=^FZxwO%2WvTObsH+S_x4 zXJ78(`Lco@;CBq?mXYJ3;_OPe*px`vW@^UMm;150jw=Twnt4qi3#AL4Qv7&%PC_km z+zwvFBUEbig8X34V^3_pth)Qm%d1^$^v89baU<1Nmin?`NJ$xw1p?{gK94=~2ydj6 z<8)_ULuQ$$s8oEyHP+ta*Ax`<@wJ;|7Z58D#|CRf&JilFL$&6 zU$3Ds*9AL#r+ugsS6CkHygs!_JXXtBKl8z4Ls zMC#!nGf=#L!tI~gMx?)h`I`~<|JGttEdRfam6%%(n4MBFA=hS40fSYhM;+r($WkN7 zZOi&K))?e*hTW_yYoMGK18~;giFl=|)O1&HRn$GBHW)Cv*%(hlD2IJV`NNh_EC7g@ zB>6YO-+b&m6ft4xAw^6Kuav-NRZLB88brsb7M5QvJwFeQKA1bQs3{HoPg>M$7xN!a z*N;B3X8mA?xFE?Q!~bOrsQ+58edog-6NN>CuV{mjy^Zl0m$qX_V5se{v_HHAv@Gzi z;nPDx6t%JdeMU8y?1YgH`RxH6%cqHuNtU$vQq2ZRW#!4i1y^BIj?y9H-V1{l$Kd(J zj9YH$)LEfH6CiiPq-NDoM?pH~Q#>MG@CvLQ+wvhHe;TfnWw$P+99spFgp19&Q!X|{CtYkpnw$nspfIEFqO=Kmu;I3{y}Aggpt&BQ zzsu%85GCD6g^oCK^*Igv)d?jL+sr^+B6xy-J4D4@eoe61k}dRbL{C6NoyGxvSh*^@|CuxpBFtMzH+hb>HC|=_=X*VRe58whHyp_=YKT zkJq2L{>ErQczhubyFkq*^o*z$e5ZQ&+FjHp(t3(P%p9kM+Ep;CjLMeYPXKGVsueU4XB!1VZQ3l%=WMZq&Zu?d3>Z06eb zHX;bi@H^^n30&3QDq!iAK78+-uEZnd>?GZB`wt=Vf|?(Hj<40nAX85=a8b;SBslQ0 z{BDY!OEBjvXVF=oqRS7eL>l??`_|FztpcgDI@rEfPUI?uw=d>fXKt= z)UBT(;nF6?rldQ881A<}d*(RBoEdKtY`v8=^=(Gfd0L3$cnpbVjjr|^nfWzZqPr)50TjJKpa_OtlSIsEy%f3)3 zI1*LOQ$Vl|2>MD%Y{1$j0(nZ|U6Z(wkbLB8PVo0ebHo?3VVHV7b#KdqoWf~sRjJLCg+xf{liSts~8gAFEf#- z4ls#M5D7ooFpI1~2fQY*1*X)?Fup_L&H9C@-5tXvbhw_g#9oY*vGR^h9s+mEh&jPp z%v&1{K!5-&9lRm$++!Pk71fI3fGAg!0Osyg{OZa40@SreHz^}?zGV0syK0Kj-+gCtpz?T={T2Uu3-@G)IR&kMpDFdYXY`qY3f7d#s}}dVZLAH zx990!S0jv=XwY`Ytts5O!z3lyCnkq4iDq>+M3Y`qRMYQw5=Z>WtlB z1Xx`)V}2Rrs3E16456|YIF-(!w9TU}&(0>~z1R>L1WpC6Ap*Q}5$PsW-x>C;=2EgZ z4)Fa=YA8AHT8@n4XJHif%3BprHctk^YB>9xt&nhrnLFTmqyB#NiA_{-+4v(>yOair z4w^3MpfcQ3N$&HhNkCsI4+&uId0U9&F#s=u#trBy#(+vt@K6#@Wzr~d>KFA&^?bE= zcfMDR-VYv#%r?I# zS!k!m91Vy`yr#wc*)@q!b+S(#vw)z8OblVwyqpq7pAJPEgesR9k>TiDtU!u!Q20*u z`g8W{S(8?PgySZg$QUYT>)necF9i38Q*?`9{-ZH{m98ilr=3WaL`{!$8O41=Oe&)~ z=>={Suj3INH{60Gpbb=%+~BQs$?&psk4^_G%3s8%f(r%3;Gci`f36F{(NLOee`Vo- zo9?Gku1(rYBbFsUxdo^|%^W_BQ)xUfO%ikI^nvh5xqw0ELx(K{*PTqc zLdOF$D-}AUDC0T#!XC0WgXkw>X#h7yStJ=SfqN;-wptV6uRsv-(l1kf(ZuM@3crYp zeRq{qGemAUykpUw@~1k>D`g7=;LLqDgGFS)1Rz&H_XBQm|^k4$HKd5eCEIXof( z`&B)rKav34n%11&zt8GRsdLGGz#qObIB@7s);M^zRA3Oce@Clz$WN`@`DU; z`1Fxf;k1<$qUS__8|&b+88W!us9{tg`o>;<`}(ymGH@$TJ$Pm6#e@CHIvx?*58=;7 z>s0#q^XW?MWiggR6G3USDYm%2!}g%`(VWI}KQidUiS_*HJrTr~%Z|gU!ucY=oi*hN z(w!AtQp&Xm2HaVl+t-yq(3s1$Jw{gYOMAejHv_ov(7}UQ@P~s(RN4-sa=UA%tm@Ci z>u`E6Nzntwmwi$mWusb5FW9L=8IfkKmSO8(DEAm`DnK)eG6V-<*G7z&N2mbXi>QE` z8k-$TjFJLDHAHCu6451F(j>-eUiO6W=+gLT!D&z6m7o+4?2*werzMPv15GGH;mA;3!+OGp^v<;isy2Jz%3Mhz!Hb6%%@vn z)LNUEabC`;sPqXIMNl`hpC%uvlb=GNV8+i#mk*_~kouAz41xgtjBq+HtuZ7Mp(%wt zKxBYF@ahjC!;cTA^Q{4N5!Dq6=jBI**met!a|r1E0~`XyyCB|zz81axHRIe0AK>AK zSIWO04mTm*h(xwHxw>sj<>{>mn-ZuNy$O-GINf|>E~sstL))C_K~Fzvc<$X&Qda+U zUeUH1oGC8A-DE#W|Xp&1LYa9DgUu znn#Ip8!}NYPzaNqSt=_acdgn>|LHMtxcmziU8!v;1Jm}qJyzO$qnSVN+@fFL=v^w^ z&@X0G1v4weuuulS3A`m>#b6d@b zq*E6{2{$k*)eXQ`*+vhg1q>bwMO%j{H*j6}BjtV%$_dYpPFrE@jNRzi+cf@3uRq+M z;$Ro`1{CIs7w_Xp-<`&6qPB_rz|4wOSii_g_mJ<2xwp%#F?ASA!hf2UY`;-{#T?EWc<03Yo>KBCp5x68?BpH~EpSBaS2`CB z=Wc+6ozmSMO3~kfNno9Y?Xh2`VRGFlXVI5eCYrsiG^y)~ghi*kH^nQi8=09G|v) zrX9O*9*;=DJA0m%L~2qR`YoPW4EC}430w2@9fX>0c4dV%r7`q5Ytmi?4GtdOM*izKbclVJ#V8eIGLWvh(4GbsfamyXuuj;cG@>?}N#P zUaOkt;37mxY5r2yjm%^qpy!HBcwRpE;U0sW*}(0x^&mjox#npjmx@Onc;?1>}xq1x<`k4-(zK_H&Gg^z1tU$pOD$vkWO74p4x z(Je;}g1mF6ZULshwK2f_y>+p|@Rs56#TqaABI>enXZE$;qW3I&w{AyNls4e1&xWuK z_L@$+=zK*TXHL~}C?2tP-7VaR25o8!F%5XDZC2W(n9KdG&dafD?Ni13L;6CpeI$M1 zjPkg0J4>lB;67#z_?~ zU$exwmhj!TmwU8L)YsA5Guob9#GhKJHj3BUu}P|i>;@Y#h7!Vh<@!avhBll7HE@FQ z(OT2{>t6LM4Rh!V%{7eSngXUT7tjZ)AI2Dbo|RBlhuKuU)GB>07YCSt?J&Z?(+qC! z=h(~MA3r5yv^?Jf7LtzvvdAw4D?U z2HbXSK0l&kXM4-9F7K(6FCfBo$=$WzNU^4JLz6(d_0|P_Ie;sKM13^9EVFPA6Zvfp zo?sU>f)twd90dYi-GpeDou;qrV{ShC#Xsy*w$|(V$A%4vag>d8YK>p-P}H+U|dNVeg3s2CObNhvVOeVNL>$7JqetSD#`&Vi_6|hG}7LG zwf|uVo?M`N)8=rg&8m~dg=6^(5a#zp*5W3n6)-73sM=fvnbZTkiPEcW!NiR> z+G%^rJ6bH4J5+ecx;LL}yTM-8EPKZLWBu@+z`sn$q>LJgf3i4yI6TOJb3)Ch#mOK8S7@X*s8i4!{@JA=cCj;EhT@1zwm zjVqeh|8_9!(mg$%Z%sEGX>;Mi%iUUl#1LL|jKnZiuWgv%#Nf#`UEeFSFZlPD;qqR3 z-vvtX{3X2%Q;PmegJmh6TjCuOX~sLRAy~(9o-w!2n|AjX9ue&6JN3rp#ZJBwJY?>R zG+g(6z26GBv}V>ES$W*8aOcV2>&n3>J&y2fHXJ&6WGwx1^5|Myhg|#98+u&*p-xZC zEK1PAn7Q#chsA}N4}Nk1j_CZ6aZ<_Uajc=$mVd!WUDi^X*O~OO2BepM+kMQuLvzPg zZ0ZOaw|r^b(I5FrZAVR&;@HXGs%m7n^t$~G-*mqFI<}8T=d(ylR5!Vsn~}z@Agu01 zwZp5KKde9wuB0Bh ziiCF^hdnm2E3?V0c|E4%GkdtZ2M~T2;j_;;zSgG8(OZrdm2NvbNlDs_EPi zC93_7l|H!!6v-K+MS6pv%^i7z3@aV^jC4VM@?DT<-O<3(6V{sJ`z7=ybG=Onnbqu3 zjc5~_x%M&y($1_^m!2rEVB8R|t?6nF9}z_C8){!1Ky#}X;|aGNk^Su=G9>lGDVB`+ zOgSJx2Xd8_?59TpGN(P9c?MV_I54?HR-u%cgHEjqa}HgeaQOYALQNN%U~NEzkd#pH zVr6S`&tK=9toeG^C$GfNNHdRV;#9Y3C3?hG4Na8tz*}c=0fhw1Ez)iv36JE@>8+jCX1Ps=vf0rE4`J2wAq5RyoJ~!pbdMk?H}ZA7D`*g4Ew>s+-c9mly0Oqy=LxXqPy0$Q&Zu@(*-HK1ef8bGc&cA z%rX{_+dgogFsgikat2S89H1!X%-La zA^O7$6ecp%cH(b6QZmF3s-%-l&XWf{S+)q(6uZ9|WtAR01XF%kG@ZLS^;ME(xSVd@ z(9~GJSZH>$cRf2hhTYeU%FBGh?XNY@XGtmqdnGvO+DT2`MpWeD*Ak;uP({k64=-gD zfCD(|$Lx}=^@0Zkdt@s)P~FXJVVb0}`HjI#Wuw@sMcIk`oP~4canDjGD&A-1Q)l@t z`an^0onJQ&*)cxDU0Cs@UO3h z3HWln`ecU#y!ww09n%Z%Q;V{2ih4sU*PWnc!{IUhgyAD`ecg#EB}SxOsS70Y%87#y z_q?`0Qf~+sNG3O(S6hyeh*l#J(KxJugc%0p1=zFjE8$pUZ3n9nRpr|?i|nP9ny}AR zuQ-|ZI1DYmhzxh|7S_cr1;wgVhDvJ{L)h%}7t}ZPoj%NYYlxV-nZ|L*VvpUu?wJbt zHk2Ha+$~Db^AKrWdk^GE-S4r(|5DUrOP<%lGEkTYWE>zN)XFy(KMg4Nil#?}Y-QMo z=Q-b65t>KY$Gmz^zB^tcXw0t+56?ar>t(1SYmZTIYBY(E3PW?C4Q~iRPYtp#zJ!{4 z<@nGtvJlqlOzQCRB*jpc?e|#Jz!!%Fcvo}COgdP&b47#q-`hAjx(CZ!D0#L?td9y_ zOdGbqp$wo}v158RMb-+@boU1@z__>BCfzJDuO>HnQ~>U@kD{f*9tkV*po*{@mfZ4c zLKn$LTeri)M$L`$SQ@H2n9_FJ@1rui6mWlev9IFN92{nmZ9OO_ufAq!zo-wr^$;Yw z5%X~asHPpTf@z!P#6{8ksy9m=@I|4ze6ZfJcTh}?F5f=ae<1s2+j*6t>ngo;vP5D$ z6R^C5AC^D+)qmR_DzeW9>^R`xEw&c#P7_Q^i)`vp2jB;parRp6hE#l8*?o{AR_uEB z#^k#Ujr6FnkI@uXYnnH@4(zL3C|WdKx8AuszkW+&L+!i%z{fn_CGTOHDa`(j?PVQ? z5PEsK4%skZwo4wmalii=X)XZWs6l3*9*DC9fBd51or+S=zGw7Bz2iz!Y*mtWPF^s> z-umvxLUvh0zAAy{c=L>3Qzgb*(<1u2G^I36a-FH5^}E=*8U%1v{B+fC@J+Tt_mmq= zvlT*%TJL+cL;UPoiynJ}``7;)YFMe=V>uHSV9ktu6_Fs@uD`>PWRbq~N zYOTIWU}5V|>AcuV$+}o{jq4#u2%$`^RNO<&f6o=iu4z%dUpA@_p?!;RN3mS)hHnr1 zZl%Yv&G%pP?f3+OPsQRJ+XZsBsidolR*U38 zdqb4kbnG; zt7>4#LelgAosZtPi)3+B_g1hL1!I}pfo5^h>%=F35?n_M<7m1NFz+MKZfO3u23CS4K(0X5SCg)X=oKTV>0pramQ` zaa)S73p8t|b>LmKbkx2npZ(}UvE-@Wqv&9r3=C`(sTU{5?c8%lf?BC#OE5bM2bxFZ zp;qU|d__Y^KJ_^$pRQo)9p4&AP$JKZG#_2fAFWvDQRM$=46tebH|!ZdT$GI3mCnKu zIvp1V%r=&fKuFZ}7d?8;9x;((_F3}NmJC6h>SJvb9lrvL*C^U-P+6Eq#Pj7?YQemB zl|XEKa3$yoB1k~u+d_|k$qVedK$rn!rFl%wBX6Ojd5rv5zg(~v>7l^3_9*6on0->G zB5*I@(D_yG@K^ve0I)~NptydxC!%s59!G$l1@uPUKVAgzA(6W<5a8F-NKM3ikIJ<* zA8t5600XqD0@~Um+jU^+0=85jKmnFlKcU`{fBrws{HHhnZEP~<4VuQ``MK@!uw8gA zbvB^8Cw3+bZSLIMwIqx<_ZJ{tJRRKd6?joh_Ws?QFbkfi?pk!X8Eq-N+Eg-4c@4rl zFR7}kJ_5yqN$$G1mJ8G2X_JesW~ND2vv(FUm6{$5oEsa}>TAMZLh zIBqI?q^OLN=#xY$?02}Ce9QKqKJ|PB!6)%te;7h9M;CNSMB~Eo$)2*L ziu#(9Nt-RqH&!`V)7`0CK#5LvbGQ)n|FQSx@le0--?wBdVzi)SDW#Gu2_d9J_Uwd& zq%bq~eJKhpsDvUE*>|#zG1)`NzRZkCvJNxE7>qI3+tMeg@AbQW_kCTD`@SFd=g-jl z{XWn0IG5vjzK-LF4orpz)Uez1i4WyX!k@f#fk}CD*pKjfDR{dUl@uD%KOwy{Y*sWr z?r9^OQ>~Z&{*hi|64PFdcq#_VQ(LEWT(u2rE!l;%t1o#O`F1WD+-ua!egjJG`M4kj zrszwBbd#(2#%tUsR{fcd{g4z+rODqbuf-_b(6k&@;QPe=?A+RGl>0%vz6sk*mS_|4@Vq;)V#g*6vn-uZ0@qr=#& zb&L2hJV_{B-+0UopRgyP4riI4K{HE_SiCl4sRJUj>LA@(6pgJNwMhD?ozv&nUoEQ) z`+77ad87Qm#)9U$`w2}xM5kXI{b2$32+abQ3nZqmA;6Wr^ z^1r5c21>-xA!JrSEn#|RD8kTp8ON8+bpu|Fi@p-%#C^9Fyepvp?IhR1%O60sI$M|I zH801b^!Vz#2@FOuS1(CEGq|3|d||TJb%e6$OF5Y@iSi!v8K*PFTb%Q1mbG$IX++z@MU6*?;`g42NC8Z*BVR_YVc%ccb^72+ z#)Lwjc5PjqvoE=OI^fR5cuqJYpcvW9ODIE*JcodqMheZ;Ouwc+9fIMcZz|!(O zA%ge!c8IehDx(+@p?H7!J@%sznm^;j z=gxpWpSlcO9*}Vi+}~Ib1k_?4C$gZ~MI+C>7I1udMruz8gQe)!3EOfkE$?{1I1AFg zK5elO=?Xrn@Vdm5>P(11*?$*E*4nt-JJass`fOjk(Ao-2v2|ARPh&Vbw|8)a zE^WIcVxf}j(@pPirY5&XBOe8EufZB#F|k3~3R8ahm_`5V_UKnjrxcj3=VTt&wce3# zfPZA_U8NnC6G64jyk5T%2w9EgD~1Ss$JJlg66|$jcP4h=Sk1qD zJnM7iAji8ySghp!RP&<^S@^f}HruoP5i-^*5N z*ThdN`YI$(yhhJBucVcCpGri!jL1lip|v|xHtO4 zT`2NGAywy}=Ufri9>upL06A9ygLZxSCoU>1t=f=By3t%)->u z;J?GYEeEWggE$^tGh(JdX2VY=yUEKs`^!&}>&Fb*QfTv6`M$3-)L7<9R`Hw;EbxN1 z!3@Ve;Ya8Im%l^#HLe)&@&0TXGOw|LOoYwE8*=k8nwe@p zodV1Md=|H8Asp*l4xrVZ9!d0hRRJjnfwrcD4z;_x>C54NrqMSAC5_{IwZBa;^1(=Y$BBd(;v=E?rT&G zF9b*NSWM7@3Y~@Fc3uqq+cVOuS8~Yn7inJI|NC!q5bk~+a#NmkRQvwcwjP10VWNKT zYN4|HU@ML)3n;+5%`Fn&C$OHKVVkp+`}&#%)xcjK`C#{YGKOs)7f|dMxEufTs4Moa zdOe}THn%Hg*8#e>e`{~rMpB4vF5>M=4|m)FQds``>A(BA|Mt52-wZ}X-#iv+F`jnu?0`Cz^1e#6L`4ej&e;>g$}d2|G0vN5RU6GakD*FuRC&W1|e=B{3>0Ir$RT zBUJZ}{QjTHBdzlFEU4I6r|XJ0S;ctZI&DxRJOsi{0$x4&wZ8~B*>QMX#h_ecoUJ>Jocimm@X?B71q`3%(R2Ef$+Zqqu65qenL z7I7*p-U--m91ht!{L}*c#t@A%a$!e9c!VmVUPhdPi5o=*P7~j_^JJzPS=a=i>)C5> zTAPFL-q-tIs_*)iL+O8gJ#nh0?k4;>zz`<*RHr3({pKZZJdTtYM@M`|_0cTl#rwI* zp&wdpUhWxhaI47TDW|*-hBMfb=f+$HaCg?15J?-Bz-%VU$Fv2vg-KpF`FY#dCo?PX zQ+4{U1R~Ep7br8eMcn<(^#ukUeLz7_PAU0o&rOYtF$5aJjLbQbEnG3UJlQ3eGHr%` z>vcIlW7TUhd@TxRIWX7Q=R`m+@vskZP>FoZfo3`fjdZ2kdcr6Y zi)Oaxy^B^56%U!4Y2-0Xw4&WsBKi`j#%`ky#f&behJ~TP&5Obfs0^5A7{j-rD38Gw z&^KHQd5XUkm=uME5SlygMAV*W8T)BT4D9Ib&&8LKDQsyGg=OXlS%2|s*);*g+{xSH z%DLqQ*AW$NjT!pOUaFvdvUCyF+&E*8vv-f`+m`W>7%pyJ5pEpZ)d;T2H2H27wrP_M z(XDjY_RQRzjHN)CgZ3%(Qr@fUclLM6GSVt{NY)!^WSY7zrtWHITBj1I$xSMO=HVU# z(?7Tlf}fdU&eYm%DOOz>UpL@-?`kAL6l3bL`dU5aYUFi@6VJ{+Y;KQ2R$Z>ICF&G< z(7OQT`X$5WTqOpj1Cw}biz}mtINWiKg)S$GPm2bNgA~Q4NcbR0C#jdPugVC=GLmZ7 zY2q2T?tP<~DhgSZcXP~Z`bX{J2!z22KIR^3ez#9fg!@;-1r2Vg^ z!7Ths`#ko@x8TWlHDgXZ>+UHZb7e?8vZCmRS}v=CAe|-01>xIU z3#~BDS_5>?$Y0ZL0VBz(aJXNYY5S~2O0oI#sL{*@N;*1vyEEZl#f>f%Ru%Cnkc~B$ zv!zPjbcQp207^7|K2Yl=UHy|;xDi5#rxfguWgj|9N%wLy_1D$4-h)`hwc~j-iMH%EwD(nB!|bvmc_beyN@38GPxa{u&&N1uwqri`4qSyX;~ff7_b) z)YHV*IE?X|E-`jFGe%%;anU|v(JLjfC|!xx(T8WpU-}GJ{aS@t{v6BXg$&MON?)0s zp1L~kRNI?|m;DB57^_}H0Hl)Ft)*+aiF|LIzFjq+ciDNr0YVk1IV^YnMVFR1e~2z= z=6AmlFuxNtvksRJGY_peJO|ZQsn>RMi95D&U9kEbugd&#mhAAF*Da29A*UrrytJ7w zpmdH0UyP~JGrmY-dzlo_mvU$#@I0J_cSl;V zyEhJ0dvQ3%re38G+0YiYk7(-OEjxEB_APfM?ndePv)XQ#b9l>hnA$Uq_s;PuB}NIT zO@jp{^8drL6e&yBWuh$#Xxlj*J7i@RpjktOHA9CS+|%oqm;Hs`Zy*e!{zOzREJH%; z6%ca6V}&nTykfm$Fk~eEy&tfGC=-Y7Z(l()84@Yw5!v1>U=j3e;DWoEG4XIe4C;2- zs5oD#IxZ!~Xj$c^!Jy6Irz+*UGz9JhuIVRCz6vcLLZg^y+cgk?1C>%($vxSweZ5Xr)6*%);L)b;%)ImC3%kUyLFENY@w0kc3+1-LOUlF>g!jp1+ zLyE5|u|+NIIV%b<2st#p^5jq5gmXTAi*ABT?En|BxBj`(17#D`@6LUXj*U%-FMBO3 zaQeKzYiVGmci+-|f8?O2aCI8ShP2vWPf)$}^zrc(&o-Hi+|Pku@zf2!fClCr=Ek|$ zcs4~mILsU0%mMI>uosZ)xOJYvn!F%Ny?yS&ctg6ITbDiaVeaaSV%Cx+^|c(44rRF3 zX-Sxf(n#3wKp%BR)aWEWARLXMt@@GkRwt_v02+h@Zk*ls!G?~B{tvu8nEW{&mM3tW z%w_)HH4_&SyZqRJaxcHRm23MNV}p)Hgqi&999*xzOI@xEUdDSUO3g*6!jDU+{#<`? zAN107=eboO27;&yJg#JvT!np(jlvfDSAXDj!?X^b?6k&Lz~j8(w!v#ciRR>me9(3R z02s2_`KVEAo9?9Vg_BZ+!+@XOo@6-4)rB?f!BqJ#<17oyh${luABzgO^I)F)D7g5u zGX(*8IPmDYUs{QvN(^!dnO@)r4bS~Hvi#mLW8Nv zLoHh#mb$y=c|H?jb6M=r*k~jP{Aij7v`INKgs0Xi2gaWr2R?T9<$pZKHFxAweZ2IS zb7WK)Efw2e`nJGDkSgyloe`aEwd3By?YsdvxCnAFQV9a}K7R)e>&>CMd1O0r0DL&L z25KrsAP2>7$N`ut#?ow5Mj?M5MgMI=o%#l(6zu+Y6du0@t>1S2A2+1BGu^$TQKg|) zJE*L;&!5t`7k1F`UPW9|In)BGl=+8d|9apObA*q#u)3j9YH;Bfo(3`>%0s`#q z*S7rUy!Q~Fg>^!a#-XPtl=v9$FPjT-rE)`=*20Zs>A0i+M;P`riz!({Q8{g z7v;14JJ*;fkx%ZV{gkLYdthv&BPr)ibrIyOt;h6l1OFcz!B@@GJ_5HFsHr+O7I}$)ZA1KD z{6RkZtHx=clmGDvR1X1b-9&6#jeu%DV2zuc?KdmF#-KJCv_bBEv(k%40BhPrQCmOp z|I!QG*lA~bp^~ww-4uJI|Co~zzQF$2J=iAt{%z*G1x0mD3+?_E{6uLc$6RP1yvEDM zUx;h>SD{Vvz14iFPChv93iDN1DG@Cw$-|rrAg)VFDtW6EMA)-41B4XhKmx4byX)LnxLA_tQ!pJ)O1Dn6%Lxhdo9ek-eq0^TyFi!)2! z<_VL?u67sGG_`8zC$~Z!JUlG{L~o_XOc_L!ds6JDg;(`bX#Cfy8aW|xB(G(9M`$S~1~`k2EH@Cx0+jt<_q z#V_a-$+4C=H+;FsY7IF9CZ1X{f}5W=+y9uz#4zLl=myOfM0Y@&Mb<-@Ag`I$M4gvN|>B#A+I-BRbUL_5f3wF@= zuvH8cm76rwqJa&ks7Wd%Lti+`Jwrty4hNl7K5jYIZPl9)PYBbOLX%6t{UbN;=JK{< zzHX7*SfAI{Srgk#Cx}iPp3*k(ebRQr^kKRVaJ1D?Huf*cygeO`frh!j*09E=fuv}n zRX~agg6T*u)>^Rp37>wu>%_D?$o+I2P&y}gIJRV3cBvEVCMyYdb8Vi6_G&@vi}f)v z=4Rq07GA;`+QvG>cTgBh+8X@IzCZ0eFqq7oA^GM$qey)U0mEn5Sz|BZ^eYXx8nQPqUJt!)oFXc*FlXQtU#;qS~24(k8jO1PY%FeU< zhWhSrgQS{wq{qjaGN8Skeg}vbWi$cn;7S$_T`dNrugTXoM`xc6?i@oRFEGOazfgY8 zqI)`{a?Y*f^Q43)0)OfJoo{pVZ_VC;<7TgWEED!3cjGE50YjSLzR8nWyh@fPp%DOS*jIr)7<+P#=P>Ndv50zLI1c(C-8%~rYpRpYHxHk{v2Kh+ z97qu%UjGPPNs(L}`Py2}6*gnvkhYjvw)Vmsu!8v!KL@p`sg~n+DEpe{zc~@V-AbTS*kAji9NlrF zf@01a;&=Lqod$}q^J<_uGfh7CxaVk#ai_%e1Fa{>>e}L5`SD)|T>ln95FAZ+iII^7gv37yze3hMJ#>QSDhHbaf?)Ab%DF|E2i;%r-oS({UD zb{~-e=;D;FX^DlsQ@1L4m*Jn5O)@2w>Y$*<@f^jv_g$Phil5LRT{s_=jIadcyrb2A zg_~ocX_e|Dn3Jt-nHl5Vb$7*=V4e-YDmF1%C%;*n+w|==^6f|J zYoP$2IeP|PrAyhUQ+I3F!xgMM7Bx~|2Nn-j|hh9dlHr=VP3UdbF+I@39KP2x6 zlwI0wc@+&{-37_^A++dH^AUOdaBPf3tlQEI>rIl6Q2v>qWYi`=bLA~1CdO5#@fi9T z_3t^G9xuXD!n*65))0hc&YljyOWZdr*U($T zCHbsX87wual4uT+o^ees!h4<+oMSDrq5L5~2x(uzu&$x5&23}xkv9#nf?i%*LEF(` z@}{*`dMo|5)v@p8$KOXb6kDJ4vL~N|pScdgGyMu;+GRd89xn>b6#nR_;4|sh>D!Wc zHaxsd0wU4c{$2s-LJ2ZY{7OghxuYQ^0e|a7x02drl>vvRk70%^(3JbL;st%KW=wSH z_N3bhL&X6jdkX~ucmE>~!rArYpjbluK-v2l6Xl~V2$_2QBGZ9T?sZZpYIen)4OCp?h%8{o2T*L70|X(; zIL)Y?uOACRW2n7*F>lw|8;6hZfbi`M!MAZvb7{OmHPe^nE6VORn1fqaJ#OI?w@k!e z;|45+$N_Q*I<_Mq|5VFKE8;8gmyd?0%?ZuRzRgv8%A6X!u2;D02j|U#A2w^iTbK-L zWec-aw46Id1VRG)tp>ndTCc))TT*mkw}3aVp}E=eA?+Rnplv)f`=dGkbr~ywrGB4= zL0!`jhD6DOL%p*c2PCacF+~_wb&kE752xGiO}`P%&z`=?$a{5U;g|MEQIh5MylqtN zg^=e=DNQ=wv8so%WzIKQ?3v+@L|)uHpoAurDqjTAiURxmWe_$h0vNL=W*3x3?ur$f z65gD-F&7uxkhhdAd7wC=0is#{91M4BhKES7?5#jPfNOQ;4ydiPraBivmX_Kc0Xnrt48uW+v?6J%d$Wj+!?HxK$1bB8zBo z%R-sDcuO3yC&nVfei8Q_aGY)018`;HYO0O); z*7&#O(+TT8jqj&(K3a_J2{0my&YBCODdCKkB3_ktjcPAx3q?F5CYd7mb(6z7Vi)E< zWxisqwfxz*M`G@W)@NFA054ne_j3=`Jv}7TeQf(Y49W~-W_)E{S>5i#^^kwKo^vNu zVg0<@?Y*vpu#cG0vDz`>I@ZWa#&@w)GSAl)Pu`NZMutn2Z{NK1YgODl1OP^F#$M}N z^?H{Ygb@;28QPNS#qGUXJPr4fG95giH{faj@5(teGPv7F5|b@h%-THdW8c(XI+8w!_Az zP9_d^9uZf1KO}zNBgaxF;3Dh)inLDas^&IjM?n$@FxT_)AH`pLW@JCJ*V;)gUN~HNcI6Gp0*7`Yy=9%bYnz-V zdFf9Lk`v~PyPqxI_>U)h4Aj_cJb7yHNg^=7;uTV7ce-Z84;!qZy0JZnSC2T5N3k{6 ziOVAkekPX41$T826e0)D39dy*>$s6uVGf&mq#w%~704^w5915p_whWo0(Oj2UN^k1 zHj?cl*Cr&~cBThb-UeD$s>hpBp>1Br5!cIWwH!Zh_ZWh@_5fr8xIg>NtG{=NLq`(G zvk5SjpX>X&*ABP^SJ6Of&x@eK-@J0bt@-x_8(`z#F8YTJ{jXZlC2Fq7pIU&QAnSi> zQP~5{*$#}s)KqGlnC*9PK&_w%+VL}zXxltEu26C2az*InU(kA++p7wK?z|jKeRJ>j zxekD^i$_4UuQ{amQ$?UUB50^WjMnkk#Uq+a7rPgnPOtwa%O{v-F~Io0^_!3dOB0z( zpOy01Ie$?ws{PaoZyvq7yhG&CUwwUsZ|Y23yYH!Ncc=mIM)mL_$i{N~8kPDc$^X3* zXadgf`>&h0eIWuO%BXhV=WVV1@{a1&CfMJ$1kpJ12Qkxr1j=`?zzA;i}-qN z75vn-fNTGZ*ayP2WGuY3Mi-qOA|Cw zRKTI+fAT0Hu9ORnW1f&bGyVVRuNo%;j7sLr5ZtoUpj@xH4Q= z@%AK_o8$@fLs#~|olT^m;@P^*9xeA+$dCQ;J>DYErxe6p$`hftr-&MuD@Hs1(}Mj* zFeLICIo)nrhBQ|kk>0aI#&zzo+l}7poXcO`oEIiX>cPoN8kCwrq$+Z?7kvCiXG78D z@&jm&NS6ZW4d#V?g26{xM>}K7X^FGpeirB^A2!KGZaJY`|2r$`_+gf^)p*kdOti*| zqggL&fYOkjG4k4B!KkY-i$W>kC(Gb8%34yteVeq?LYP%Ot6;tYXe?h!AH+!uBYvA4 zB@eNAmSW|Wl4HJ>_vW|s54lSM3V%uaTssTNyRMz~?h7l?v0kTJa!E^fGH!pIYZ8$o ze}#@X*|)@lVI-|wYAG{Qb;n-n-JPaHFY=;*kk8p?sSZ@n z@jmgqbUaRTgjk@ABlVQ87ZBsuR-P!&|Bbj7vOl7OR9j2Hu<5yJBvkBs3yL0WrB3H;MOV(rQ#?HaHJsw{MJzy9&+t;R@ zL(_J>$E2dNklKdD#0R%X#!C7oqXR_^5R};J#r*1J6xc_B$zXxDJ)yqf)a$*qW|YFh zDn(-qdzIK1ML-|)-Dv}v{=+D99kzTCk*ooHPf7NozN9YDVJK0VWM{3>3Q>Wayt(Qd zxRoUkOz44`v29DdDvvO9CG-OqZ^MhS>f)^Ht>6gvywAxHzw8)4?CpUCy8>urr4a0} z;PioG^|3r#<$&_*QiB@NLO!x|}Wi^z-?EOZTZUm*vqqUc8R)Sy!zrae$pc`X&V_`x@~_g9m(QZ``Qeizb{eSek+@ona8wamm_m!mOfiIS@g>R zuRRrn@0Z^3*2~h_Dy&oq%k8gtwO`SE87?mrWbLOmJLvtE>x4$?A)#p0;JTb~^MF*M!N&ydvtA9fDtUOT z!$pkXQ1*R6X$#=yZ$;hR7@)F6<${YK+0$4X4*NRc3bA6yXvv%_BNHT*2suv9EWhKAueSUmY1sKo3hppQ?ViU8~jY<5Cr0|AO$aC5$6VC#)DP z^hL}Nf$;NQwS9Y?Ur5qV@XseD`j|AEeg)(iy zO_N=5wJCfkM^LS<5pM`Q(i41IWslw1>wfw;IQJs;_CMy95+?te(E8Dl{2n8#*_-}NbWp9-4euxbv70joA0(F?7&g2`)`=8c4P!AxsCuP;w~P_t!IG^GC^Pq7Y~Avd z(}ygKzkJFmK%Hv45>h=4)GGV6z{SIK`&=H#Fb8<-o}(3oNMwyC@GnRveg@yf)(g?pS6}E?o23^W+hr+!ufj_~ zi@ZB_Ek1K3o7n9ky%CL15*rlNU{*Zj4gEw&V^AGTk7{l$C;2H`G(*^eu?P8+v+|xvTqJzL$<6Wx!u>3|Fj4mYWyjGaS|cpkSjoSD@71gat?4#z~kb zHU}5Ujl6jX!e3^rYCcp3+%w3Hq51RFN*+z_n)|>janvZ(f-*mvNV&`_V7Ewc5BH-u z6aYlm_7W)Y_b!PmkNB-iDrU3t&wlWlse%Q^F}b<-X|;$|e$764VAWgihKot2xp#Y* z_=Fb_?{@Q1&s2IOzEN1R<$_fAV{a|ppvD;1=I(EVeuhB}2NFhH~uz zMl7!xFvAvX|WjKQMJY5O(2chyvnX@rbBCTOQ`tBlGCVaVOFQ|28HZprKqk z%o~y_VggDXOzN1K&>+|^JePbnS1tgk&7y6~?mSiX_s$)oFTXRASHopRgjfl z$Ih@^jK87Ox863`LFZ)|04RHN25U_B=e!*);T;(2BZ=QUqA!Wa9W3WbO^Iwh zph)Dd9q$%=-HW#DaSkGOkC{6M!ya_;%*!rn`2F^OYfhHze<=Y~f))=8T;9p$qr? z=pR&dy{J^7o%X3QF1BMt5p>x!;7`ghCU!yT1vjB_3j9FoCoU5qkq(Y63*s7o594JB zU})|;tGXnX7f$c*jXO8>W(;~(jV9NsBn6D~e@Y+c*Ze1e6_=WL zk!c=+X4}QcVFeHkE1TnYQC`8sAMf9}88UaPA9aCqeHImaa}q`x!QR152KJH{5)(w7 zfpk$@P;Jut*r*LutC&6wlsWsgY`rP#+-P*j;uT+qvl9oYGE-Z}ph&|BQ|4%Q+Q|Ai zec__a+fvXyr(ca%bQc16HdRfUGMm?jtrWYJm^Fx;!yWJ%d=nQ4T+Agk?JxNnO7ci{nP)_J@G?hvynM^jI*;}2!kgEfz7jA#ibl;xOuug$ z^z@b?-e{Cv)2*8dmBFpIbA*NW5!`Z&3`g%VR0b~vcue#2uml6@$lQd{3KIy=IchnL z?ERric%s{?TSgWJIh^THCU^JEWS>*G)=Kjq=rc8rFe7ylv_tWZc{Il^O9HCMi<-1J zee?)WFbP+lhrN zp(6MPP_*c0I-6g8vVnmV|H)~yO@RR@S$?Ks+3q^B{*&EiJC0%aC&kTnj}Q=zZSTKL z4nzGXF+>87TxB@l9c&W4MH!mg} zo9Hu&*{P^#SZ|7Nh~=(@=*nFyf>Tj_p%-PZyT;iP@A{x=Cy>K%y$iayRoEk#j%UdJ z`?LSw_QA<&x5BbFMf06!O;oeXJQ#a(g(YGOl_{8A2dOl#T=PC=rhfKi+5$)bD6;@~ zYIMEAk~aSFh4X3mT97)nEp;YominebZB!0t0|xjeEML4+EDFBn31m6E2ohg($Oi~v zzZzwEda+}!_~muyS+<2xo_K&R(%p+--EMv!yD8A8{U*|--Q>)pucM&pCcxhp$F@M3 zPp_KJ+@ZS7mnQo{i2tCfo;O1zJ&-I7aF&{OeS;+G4uQeIA5X9?(>ITV(cP5z<5RTW zz2S}G?9LzLh+M5YYo&Md3Qdu6N8Pc@k8D}q{kRAM-{+0LB&x7NK@wUroO&v)nkigzK%&9_?MlGZ?}R6x$2y z;OplFDYN}S@6KGKQkZ`3BHDN@ao}>=1t5!F;IXje$2G5G?8eczy^5m3PBqs3T%dfD6^+JbuAdFh5w~?h& zpvhHz_5cYqr3D69h(%lEx+>8F%&JY{s;;}}~h1s;oZ zRg>p1krtJ!#j}=9pK-9)D0$dhL#A6OV^kJ^!j7{%Y&_$_c%q3p*7rKkF_x5fRDbrr z#dBT*0hiU`mX-#*ok|9(MZX$N#%JH+1-qgPU|8)F&Hf#R!dF!vhb$e`{{+^ z6l4GrdfwiIvBSc*ylSnsfFzZd^~xWZ{?gBiAR;H_ z5%|2&d!0;rLtM10o!N*J*qDHbuHw{6Ox7K~T;YZ&-Z#`0gGSuY?8S|{+Mtx$0+U1q zNR^>8UdSeej4Zdv+@niNN6T=WMm*+q54Gqn9bjfBuIn;Y$|eswD1yw|sPVBcPm*S` zPA^*>^-BP*?r%uCDyjg1!GGzy`@B7no>hO>LR@_sQ$xmi%z#(86DL9qK6?v;y>;%2 zt9ei8>DSi_$t6uoUC2vtA52_3!FtMZPvjt*X_VWNp0U}U3#K^}Hw=uN2YnUeEg$Ms zA{V6(WKA(9QbO;jrqHxw+rP?1D)t9Isq*4mV22(?04MuE`)?io`%#x#>&}GJEH)g&WUItmMtgJYsInV9CV`I7r2> z#T!E=Lps(Ycz^9x=h-P&*%&Nm?iAa(%(-I6C`--egDXQscJQ!jHJ$sg+KJj0J0fGT zc=2r#KJR{d|D_VF?*%>$VQMnl1w-&|UF-Bv-*VNj63M>tn0LsYG z=o=u6jX>1a_wq(Q)r~OZe>RG5>YD7eZ|%%Ql#&<9y(y~+{!2?^Id_k@2WG-j`J;f( zVZ2E^Ka-9~eQso?=_jewL`)DujpYJ| ziP!hL(-x^LblF--cEywwrOOx>a6C+Lr=>7;2U$2IcN1c@!0!&+*E4qdD!yn{5h!h!v08It zs_v&2U^7O#4VIHUh~0-b_xwo}Ytn$cZG}dgdE45AU!RK<$cOw0SqHtp+2)Dei4+&N z630O0a_@Az^a-UWUXq_%M~XEM>!_v1k9Gg(3HOb^UPzMkcswPpppQPdZ}@hF4X~zv zxa_2B&8I`EE5xU=5tW33SNE@QxClw8jXE`7JtBs`Dzjn>FEK-9{kH8?~%Ds!D8ggdv(!?cyN%O13Z>+g@`L7RncQ)Qk zH78?M4R!67#kjrj0ShLg{+w;keTP+UmC)j^W{%_b2t7Jm&Rf42_-c+OKjVwH@PHxT z!ti63(>Fsp~))F$4IPqOE5JuP54Bb9haO_N+ zK2MzDSt2LcF9?#pE20w zxwZm;TFw&ve5d*vNfP~ax&kK60Yxa?WNt8@T6Mq8vXCzqTGroXBL5(*yQWfjc0aT# z;S>^1kTe5lQn)P1;XaiCCd6@8;CKdPL)fyGMnur&drMCDKgns&PB@i=9R~^_B76~|y(H`vvNI-HT{bffflz?-=6f73D(= z9s_q;&3ViE8TPLvykx8du79H)9Lm%K)grI_-g36u*jU?+@WK-ariOWLXsA0x8Cr;+K;?+Wfgt)GbwUJg{n-m zKV46(&$*{72Zi90iGOurGO*9z2iy#(CExmXHfaN5@Psm!wHk~_Am#IxMQb;MWpkhU z*^XmlpMnw}w3&5wqRu^?)FVED$J!R$-JP}Stquy5B1KvtQAzsyh8|fjMeaY0 z^TXv?+`CA6R9SJUqVU<1%`lBckUTj9UW@lB#~YXUOcO|VY+D|WYY33(Q9`c;7_Y+h zWW?XfCF!%S*CW_!=(iM5D9UU~oXGdq&_Q4Ss`ot!uWdnX5f-^^se{mlAQzf{=-@s* zP52Y3SDk6GgFZ%VQ`usl6oJ|Nz5Eg1p^Z@Xt+UzVOFqNy?+H+(tqQL$4teO0r|;hIMUF!Rc=(VW3<=toa!(+U2)wO$`#-eRi1 zr?XG)(Ky_`kw|cBUwps3v`Fsl7Q7ekCm1o-vq-RB88toG>|pRQ$c)rm+kmr{UJJ$U zC|wK125z2v4pj7{taC#f*$b5XIR8R0O6_I0xA!3YQk%E;cU~Y{rW3lBb)8E7W=Vi9 zDJ>uKpjNnZ7eTb^6oOQ}&I%>Jeh?-AD+A;xaWmAq%xz@thIbz5`BM(3h{&9$0lR{m5 zTK-!2NJw{K-(>pKutje7J54i0dbu!aBZL|a;|yo`*3y#NOK66yC6I?;8uqr!Z_oT|1piGVXr!Yuuw0KErh0gOWT!r|Is4|Ch_T=Y z*WRy;xBpweIoemKSpZA8l@@xtO?uPC|98%As#pKD%>RaEF23{ekz0jL-=1@6lwiS{ z3AOBW!2YEN=iix9MBd%&6^?#1XaO&j7jC0*X#UIJ{dlK-`fDx*Qn^eD$o4BWD(3zu z{pX*lIGhB4;9r!3+ri;^Kn}Qa0qhHVXvV&yM`1g({HFer))CQv;Uq%8KJ6p=(qDf+ zAu^&O*XC?@uPx}$W&4d#h^q{S0G#`QBVES=aJL(X|;AirU;U>QM)%JPSx$|+-kptZW|o(xTO+L zXx@Q3`saS_RL*PQy9|`Fx`n$-w$dPS5P8_aRii3cQ~E2;Ns53RG1y-?*W8`a;5aE1 z@y;D`dMrD|)%IZS!I^jFvv{-@3;zq*v>;8x`Ie{T$_W_5Y2NMhbX^g3T+e^xol!pbCqTj&1${bDZ`gKzBh{YYn6jzf+z4MOK&mdO-Nl@HWY;+)* zrr9FIf%NCdH8uwHo$Q0N8%p8cdjg@i&y*-#EG4so8%?!o&8^6Jh<@L#QHbuJ zGlxuOpF`lrlG0;#wE16HX-nl<$u6=SXU@)h-`|%sq9(4$PE8f=HFFI4`7Xl04b9_jz9NXHrYea9rx`&=P&S z3wIKz-4WAWXUkG*ki9u7PJ+fINjdiTB2I{WbDHhFyMGYk*6+Yk8dh9fUY2v$(ylJ| ztWYm{=H`pIjiqg<)I6z<6>NJln*HHCKljd zeC_me>UDi^6Q!Mz#r0(WnvQZD_e`$o`*Y#H7&p-5IGBdl*>2muK}4+krpS(*0@a@? zKmK2->^{3<0_SG+O&7llm|j?+@g19^5nVj}c4A26R0!nRbDOB&gprL&>fD|$l2YIN zWr_%fkev;o%P|Hu)iwoSOwByUfiVko;qcA8xt5k+WyK`Od1I+oc3xd9AKNOF-fimZ ziUKu53QPSay3w8|dT%5Lg-^M2nu7u(eHG?0FZ(vr9ImM}{YqgrZyy194%3s=c|13Y zfJww`a&mi6t*1SZeLFWg!Nw)j(UZjkS*=EdL9Btu@zc&NF7ZG*;?FRobaKUElg?B) z-o1?hS(?;nYEk%Bo?$?Y`qO*vAzfL^Z278%;VhW{KcMnd3rpr8j6oGhq!(Oe5JaZR zfXBhh)9E!`F>Q**1W%$>lu$zizfN-4S6R(i7CZbzj1M5xoQ>JhJKb43deDN?UC`LP&%O_8a0z6iyW~2iWCEqqm0Vitf$p(S zXj}kt4_?STu}TqLt9SWkuVQXtIyUr~02apHbvco477p;ZE^YpBADT5i$Ck?&8>b9j zuekYQAf{Q8_kA+g!Vu=8J2@l*P`3%cAn4ZqWOS1hSpF$AqCJLHUO$i}KsIzu@W&-8 zIC5-dGV^6R7CLZXc~2QW0ZbRb!J?Xr0Lw4d1qZML5#7Yogymf3=9Q>%_|I5!>mQ$h zkjJ%}Vw+bsPg=nF3-_bG=_yQQf3`cMZfhjd_E~QH-1wU#lTm#Y3pr+!t4KdSmKAXw zJN~pW@rtQl`KYXY!7fS1ZteY~mullj)GE1%w#H9s-Nzo6Yn$X-PKDlswHW#XLSBmR zAe#QoNzM<7k|tMyi2C*60AicBu?}5YQCo?uKAAm?@%_xo0i|Q!uu>DtT)$O=H##^v z${^|(K-q(8KGfU}+H=A0tp8}Nz@alCBO7YRHxa#JOz=H^(TAKjN<*wim)C>~wp)o9 zZ{%fMi+bihGxuA&nP?ojPwcit*&DUn8j0+GkA2iFiP1wq3>L0iuZRk01tX^;on#h? z{NhU1?3!tFyl*yzb%&ysN5W8J7BQ=8LmFo~`%$@=c*LQT#^?v8S{jSv`i2H}F+{1u zJ^o&@$3xQjzw)(I;~qI|6mbZT`VI6vSmF)gva-@cfvoW0<3pJ^h@3%O>!dl!-Lg03 zdl&w)ynWFj=-#IqDmfDzpPw&&2#-}Y2seU2zsqPT!ta*8{(f5uO)qa>0iK-y2TQhN z$H44?%VG<~c`{jYr$Sny3*x5-TJFUOV67_4u8Nz%)sTO#H_%-+-h5bB;&;m zf(%NS;NGRP@krV68(|kbPOCnoa7VJEdnTn+2J-pQ;BxPsY9DTEW&3FPmE9dZly2a% z_x07Dr$#w!fXE7^dZ`qpCj(M1#AD3HLrs~{rxryyV1wa?<^J6i{cExol`;EkGm6?Z zjD6jtuJ_;(2@+y!tkm&kLzB;XO1e$@P!0Smth9fozC_7?;ahPUqGr%vQdY^jPz4nc zXZ`)}V!DQnauh9?%-j4~zG!ltqmd_;Aoo-6$O9xeHRk#8)>n(4Ms)3+%1zXNyi>8z z;w@OS9fed!o#wAhmyQSx)4uyTYssJ3QP4m^N^n~PIX`9x(~9p7CXA}wdYLs~z~1VO zj6r%XHp#uZLQ$7D1i?~9A8)N#5pq*pV>wll-PgP`Eo%s<>A6h4Oe|764ipzWJmO-^ zu=Qr=6-z+hSps)tkQOvU2FI71+v}?DgkKUSn1}${xn-m``rwq`9EI@qo_DzaJhZb$ zRA6F9L+@tzF#4$!oSEr`I5LapctUr0vW%Rc`2kt4Iv2_2t<^5HTsNv+$o&`&=tJ;U za5i#BdivPI_|*CL0JTk=3hb%2ebb$AtB8b;PXAQlL|;sH`wvw(fi~&&gSIYsB0QM^ zi^ppKHC^b(7i_yMCDC67HSP``LXEI0Fa^bz`0sq*M7^}=>9?Iq99`P{V$lkem`S2?INak6W zlc|okB&>{7yIb%S8$396SOQmJ_9anM@8yA08BSBf_FTtP1pFLxCDNa}Mq7c;nsnq$ zhw6xX@ggXOQh~t`mn6}hUp!@m-U64&&$w_N;X0AcUzLcGSwH( zgutFMjW#*C14TVeWjvbN3z!(b>_FN?DhM8 zy|UEL(bfu}aG;1LKoDQa#unhcdF3Z6I5%pv8`C|RCwTIa7+KR*ZyZo z3+brFqtiD!4P&dg#cDze&`*RT;F-j=dK9bI>KzsAC8Xz1Bz-Xa-XuYGQ9$f)<6nQC zvo)|y{MpjCN|**Vop5+O0@Ax!KSw#*n|T16CD)ZBcNG?qJuWz{xmI+dpD?qM>RS{| ze)&<|*tx_8#{mCo^hu#ZJp-jXny?bI<#^nG5%liO0psq++_YVN`l4}VwDdTn~tX`lGoiMrD0caDs1HP?zHxO=Y%W%r)oN@5IT@x%@uK z$#C>#;nB?N?Me4IG$hRpBIJC`!@K0TajfT2&ZCpv(fYm&CAlSxq`k08#N_}FU-GQA z^W?&loz{lv=NRn_^$rD~v0?H{8lYdk*)P-E{ZU|x*yG=yZ)mRm?T3H+;eXq_NCy&% zLRQ-rLMV*)BECsLIYoh$nkw_wMEKQvu;vy@KliNv4hJ37D44GvSbc6r3X)lOIk=ZC z$s_qzg{d?jBP+nQM(s&dS$nHqyT0foAG@p{BZg(zvdG-iKl<0j=ii@i>^}cT`ayqi zRO_b};Qy^-kuat$p--3>J7?ld_>q{=%1u`G4R3C9VWB#*g`wERI(Z;y5F?L~9}CDG9xcY!h}TX>oTNbw}Sg6U(wo1Ubl6e;SH+qY0qZSpvMlyMTZ zJI%Ha3FH;3%gNwA=f60Az)tTgWD7xC9}7_JtIQHimv`F*KeQjVC(Tqg7vZ;9Zi^rr zL9aQlCQi`#40O-EU{^ndDk;`-Z7b^OJaa8QI*rEcQLiDTB*&kvTdRrAm`aoGj~6Rd zlsSy{wC;8(D2Xm5;fr0D0=+1g%x!u@nI&`G!SlMigR=?tXh!dbIpATG5v=^|6N8R| zlZ+pC{n^Yc-z|pPIfR>4&`qr8MyX*}x86&K$|%o*~b;66z?(J#%zp*^Awc zl|?KVn_I0cf~4$H>~hN)ztsWGk*lxUs2%;HOw{VTyxI#zGIFt-mW0e&B&O?vt4&ru1f)RCRKB%Z}|;vj}iYEYZD^7MWx#~yY=`T0I|^?y`EBiWZN+McU1 zPoq?B9quk82Y!2nua4oOX9p{0Z4u-ee{n;ZVHUH_4h7eKGFY|&Uu@d%q`PN9wnbf;Z*gD1uJM~!x0xc!R4pQ&8HKb9 zPAy`V>!#BLKBs=OHzECP!T0&D7y`rhd3BTFP=LM2#w$v`nR>^T@$H0T*@3Ibn^az2 zm$o~jlW^+5-AUl-k_V_zG0hRK=6TPn{qzYm4P1!ZG|9AM*1{Wo;}n83haAvCBrHeu zP?M16(x$EUV!g_StaUuE5yTM>okpYvZH?{O)Kk=~@r&1+(;epSiX=E~H3xk%yfaL^ zepHyT)+yqawp>Qr;AQPM;Rl5o?Hsi3P2%bgpTBR1Me=S4US|yrJm&GBxPS<>e1*R{$sTR4?+ zY0(M37PJ*TXJ86OU^YO4D`BqWSb}a;{==f z0tyr7VT{#1Zx0t1kk*IjRj@Z2TtiRx(wN@?Aw^>Oq&hGAaoXH=k+EUxc>t7ZeZn_{ zx@?cX8^@(fOj=#IdJ44QcZ)Gd6f4!^1GbBK;GC=)uN<9Sf|a5#p_)LP`YjXT4tvq$ z+)#BQ+PIW|;9DBe^)mlAe-*AN`Pmpz$BH{k1We>~`YN!Bn{KQWILSS8g58lYTC^88 zhj_x8D%#fgmlSj=1XdjGGS-M<9pH9p7YB^2S!u1(l@~HY2-iekEIBkh;^w5OBe9LQ zkKZ6}$-uAvIM;9dBGldQD)6C{>w^iK?g(X*!pbwmGlP_)kFAN|a9(W|i^r>B0l{jm z)#j@3Yr+KpDEAU$-~PUDjbl#k{XU0mflUAr8de{KfrQM51tj55?0}?51-3kVbw$iz znk#VEV|_MaAPgg}|99b!vY&qNfL4SE!;Af0Q|*3;rqicN!n(O={4P>e}fYpUb_S>R| z0rg$+XoPLPvT&vgA>~LwrW@z3=L(KZItIdzZ8^)tHh~B;Cii4~IP4uXSy8@AwgqvC zT!HIzMEK%tTXM`Yr=WOakazM{wl^-;wqvh6$H@i$LEHB5{ zsGKpV2_hnxe+M8Ym}=uToCcQ#*;)p!gT?00=LsZF$P}d)qKT+IPX3lIMuz+ zlXaOUh3gFK$G~Ga4IRX5KDIP}CvNLlUL(hzE%J5LqVmx1pijZUky{S!u2Y5PIw#+A z4XQAraFfJKL5V;eSH@Z^@n&2}l>P%n&-Mm+`PsV>oxZMZGsAsc40bh7cWslw*Hbk| za1;Se#U~NXs*M@k<*Xi?R@h>`Pn-CY^0Nqx%|yc~$$7x@&`|0=-mZL^LF(CPggQ*>2efq|UNra~GqFPm|bijbDtx7d-(s+;xJ4vN_Mr)7DF~*J%Q* z0U^*yMJ(LFnj6wM(@)HZBP433T~ zKfEz4xg;OzlA)_1hjxm=e%@a~d_16ODY)#3X}YW}CN0&64HZ_2SB=gTANXWxGcLR9 z)TcInZ`imla>3=rcz2S-wcJCk>8_Y(Fz)U~+0E|*Ti*JN!~<7E!RG`tSrS87?XrYb zB;W9Qr>MFaFOD_%@7e=Ql~=KvH7y1G@B3kC7!*_LSMQnt@#T@mhxi#7NdjvRm=z{O z&=bF&#~v-qSC!LfcWg{l272e4l4umWFq}=k;K1}70LG~JsAfgBILxPWb;I3Lc6t00 zTp&Xf2Y^+$Nr=Dr2i97Pn5yo|zu_ue(;Rs8vS#-HHcsjq9xhko8!HmSs}1SvpM(;7 zd`c4ZaIWzXZN-h6wJwT$h5<`hf%=jczF`irW{fdF1asx;?k|9*VA~9 zO`ohB1aj2V8nzvNI8M$aqL-$)_e9G3**{EAG*X+&ywC$6s{ol&5du55v2Z4?HB zt%lcv@%X>E4UIs4t4`>qR9316@L&Kl8Ym6&%BIlJ2g$ZK_#=zmostA`@2^zZ6X-FK zS?nMa{M@-@mznou9~6(`_C%|v$eM!xxklZ_MCBRx8T0IkuBgd`|Lr0vhx>OHf5vD3 zowazB>|*V2@Q+7~Hzy^TLqm1)Uu2%K30nm+BU}52K9n{im1Zw3NFO2_c>P4~~bTp{C*+;c`TqDG=w zQE_i(W<)6u9CC8mbCS+8;svq|uI$xLJ4h0vr5*gvOqu)hjF^S0k^mS5wT7&glb_wS#s1XAf+T|o`pP6e$vn1v)-%zdTdno zWEI220P)EFx@XWQB`=k?QI;iP{6MRp7Gnu zc>6}`Xy8+ zzxU`Isx|vfx)1S=rpJ{Gjw55NJSb?`t!0FT^mE;>*o=TB)2*c}?b77}!%*|0;d{zFmD^*BIp9Tzl9Je+{1rWj6swwX0hb@=H7K77=Cv&q!yG$S9 zqouWyMR~(DBDW6Q?m}|88F>{Q^d*Oy^bbOWMaYNH%skDzhuXpR$s*MK$@I1JyvFR@dHj6cNv1gC1X&mFP5e8^!$v z(Ku$<6rYyM`2?;gJi^D#h@oZ->nTHQSfoian)1t57Sff??jMc6ouZeAk+)hE{h7Mh-?^J9gPZjeJs&NuyXm<#7t=NNR9@R339p1+vK}k z-CBh6miwY^%PeMXil0l^0szc!nqa zalO=b|3?5I{!A$WvC;~ut}2_D$z&n-Q*XZMzjYxAX~4wtZe8?byRf5cGF%cQcqcb4 zw5%_F4me4>H!cUMl@kf-5J2Zya&5XY>#Q705(y^*rM$qt-v_`MUOV?hTbtX#?&Q~U zpwSpcsk1b`rZcH?vc=hqfnOh6qL-4fRhfLL{0CNKtM!RhS;x9FsE4F437yB^*9OsG zL}vMtpv3SNsB&5}+es@ED8lb9Bl2rT^QGqavkD?9@&^6Z3}M0mtekBOKqRJe=|!9- zoW(DxNAQ6LKT6N~Vts{9hQ(m1_@((#fo{_wt*^X;#OqMN5l$TJ7s_~J) zYlHl5)vSlVOBL8K=CBpymQ3*0kvq~b{Pwa=Z~#U=o4fq!K~cx7FPDO9jxXcGmF4ZO zf08}5I?5-mAgbN{eR??(?k~|N9D7@IUh&PIp)tLCl&va#Yqs&652J!uTj71V&lQ;j z%qQ+8Hb*hUy|IS(kX_D!kLX%w`U=iFMO&3C<5h?`59wQKiIe%D&4O$ zZ&pmFnNa=wP>Sz+*F129Meyo7?j^LlsH-_s;)?27ItWK@%oR@os$IK;+W14#1PKhm zb{4nam$yUM-vBC(ILExK(tm(+h+;F=n>o&U^W-itm`rS@2tF)<>8x_oRA_1|e`#UX zlqeVK{2ie046bn^K3qJdlPB#HZ1|T=;b6B%7{i{YrVIkrTOTSXctIAO=$v-|A~jL$ zY_AGp*P-qfz^HK(v_erL2{vO-?QDU{3!^*8Ho#QVKzUz&sLTtATD;bieIqSZh6!qm znvSppc@HL!N$`fXNiy}M#$2GmvpD>KLY5UjUkIZfY1_d{0_?9I_os&>S`~>G`KtCn zPb)<&hOn7KS&evnwec`q39EfaM_{j=+myPJHRMaQ{o2!40eU!JJ)5cw} z#Vs{)yzl91Jk$K~gm=n7Vcj3_fJZeVCs@D5={YgF-gc(DM~*58 zGQV%y<~5K&x*5~kH*NwoLF!b3g@ORuCE$bC6r2&x&v6o{GkQdrseu;YPy&W}mzh&8 z6}tr=xn6hY-$wttb2=g~cF+BR*7~%wZi9jM0*jX80ndXPta_5yo~4+cw>b6s`1WRI za3)kpuG=bOHL`haFL;hO>)nAJAGn}sU^h*D;n}nIu}|+77ihGD=nd93@mNP5}i<$c&)SU&5OTMGLAiq zqc%SP&`}v{73|LO9Bt`(1^w>zK+EBP=b=A!vEt*29F50PFZQkxs+GmAyf-!j6=yxi z=kqfLXmKoi*UV>qn2*lAT;RtOz-iwn_oXkD)r44r)}L+UL^vSmx--rc zbzJ9~fA+@yo=hxU=&MUBN_^13QrjGv3-K)4pipRRCVLUIw-ZcTMcNth1qj@DZd+Dj zPqsM9_MSVg@Zx#fx@@D~m)$r$7e%(Ovrlq}78?!vZ`4+bSeWTw$>SEeg@At8`vV>HFX7CzAsfUb^7f@$#k9F>@9S4xnt)y@=S<2qf^Mz^mE@;whQq92 zu&E6jVMD2sCm!4;RbOzu(Qrx-TG9%Mo#MZoC_PpG%(JVnMvW2rmegaqy>H6bqb5-_+^BPf+XrVlLH-6c=^=xGw2Zt!(QS z=l#-Pa%4SxjRm=;gbdJM{{~F))7?`Hq~$lC>cm(C(LoujS*c{5LdpR)*K-GU}3uXcxbDRmrpO zPEl$@V#;$Z zPJWwM!?e`28t0ebCUVglltX>4ii-((a9 zmSV&gWW9vv^a=Gn(g86nvd6tvd1e|=XPy<&z##7v^(8NaZ5r1OrN6!4i%)x#L=fD5e&PUp6CI=rY7MkS)<2?XGEN%6@cB9GzqLS=7&fqO? z41g}Izg|*sC#AJJz9fq3#N$4OppXCnc^x2C#Q<*}!x=8rbBPns<*oWXXJfJx^$he2 zN&+2y`C`l4OTLZeBn~y#d~^q?v;3@i0cpyH5v zm-A>L3}ZeK(G98rao!wrOj18+I>+`LGuQkEyWvPj?7Q0c!5Ww?mWw*qfP{JH_tkez zqf{XDw&)0*NqHpJxU&VTA*1VS*H+)%IQ5=you&HZ7enfV3wC`D2#c_941CKyu?`35 z-sg0II%-tE);!)SK^>_aBnW{Li?}x#S@1OQgd?>E-wfE_`U+p9@vH_gw0`S$k$X!Q zXa={{EIYy~)5ru{_oYNVlW!1_IoD;bEeMy>0`poc+!l_XJe*cEDoP^*?LET-rq!K` zE@xYwUZA-xwi&I<=sSHGMQd|P*~N!NZT0#66m3h;Gkt-Do(D7|TfqlPbKxuNAGkv> zA^JcW&5P`eOZ*RkG%R2J!JGvNFW5PJg&CB5OVUQXURIj}`}dV}tDxCrMA?)l^FgCy z-JAxC8fcf|=HUhjL$lKTW>$jOobGzfJz=q*GnQlO#?u02*GwUG?@xwgBxK-M z1lyuZIe-7{7;Qxqt^X^D$Z(1lsopMhwItp8vq=Zr>IH|?870ObmKhG-bCh|B!~L@! zSkKB9prnD(>fp3pyM9)aCTA8aiP5!lPkB%zUL;7&ekIhwS{+5q@!ru5Wj9pq2 z)1~X=%IdXyIVd0j-y-pcjL6m=KuEP?iObhpHx5mTSYHA(NDN&xB;C-?xtEI1G$YVE zabaG>L?K7Vv6MHGn-ojK`gp4od^&4o}MVWvyK;smb{uay{w7X3(d^y0&I4$}_E_YJ$>&~Q$+6i8-dt=lW zxkE~eCa`q@&%HIFLniXGkq_-GSSK3x%laiE(_~ofOZUrqHGK5}ss#Ub9MmQ;pg|9o z%cR$)CA=+0I~D?pkNX+MyUwnSVj3vhnvY^H;aC;rZeF@YDLByhDd2*(n9BOl)ondj z`V8Ifx!l*JIN^3$-VMs+&Wf+trUuOo*#CgN)O4?$51Z#yP7Uy~5;#kOJa>FAm@1!f z71)1qbnOu04Z}TY=_?nD2UMMby`Y}1rs(T#*TkbmU}6Cc^F9|y=>Cq~d+O24iFefj z0XF}E1N5~hD4jhwW}mz?%g#8R;?umvCoSn6x;2FNw)U-U5dpRUZ^K@1L~ccUH{|(T z*)?g3WXuHFo9ZFyMsjq9bUlorw^#@Zbe??<7oCuA01rEa;Bb-n4!K%fI(ude<(>|F zy1h(B>tRVT>^x}CVywqKNDuLcKCKAQ zr{$0+KU9gVwYsyC*m#y&i=LW=4P| z(@p#m)K^%tdkNKM?0AM3HyqSdaq2}0jJ3F%by?yKetii;4x4_7D!>uFc|myE@!8(c zhK%Z<%*7+MX`|qihHxP_m^f>V4>W^$&Kj5UP%eJcfoSqqS^lO&B>E#^?L&>0nR;9r z;==Aw5lFYU`8^q$Bz{jNAW37}mZaVDe?AI>4_=xDs(x?M9~>bN>SGv|o27l6-_6co z#ph8}OxqjI{hO@sNpAneD*or8nlAmO@8^@Zc*va0_J+G8GSlx-`0xP| zHpH-N2V?|t?dgAoio&seQOhKe;|+X9gykGu@fVN(Fxd%E)e(HYaFewnvh_ z4ggvo55KKT`+=d{p(GX0ZTkm((E@-!GWo(^a0tb{?P|HXzdj%GM@eOM75RQ0@BcS9 z5xq(|Z)B!Yk_V7#=C$Rdq2A@wZz8KVS=8kg_{ki0!!lWKpK%+KI5m=MBMc>Tkgsnd zYc^SuQS$r#_)|C{1HMxK#kOPtlKCdGHXS0n4mA2?*I`X+6qhx#34PhKwCNr$TbcQ0 zAC7wWLUiE`EKQ89^MwBA|CcCw^$_66IB+_Ii1L!n>^gbhH9Vyr89V!0I8WXzf-EpPZjT5gjeKB|=@C^kIy|0{6bc6`gdeDkoVlFFyi^|3E^tg z*$X`=KK_{bY_Phsqxmx0K2e??0<_-~b=Ve((d`St0!|3%+9=NnJ&{J^rF)kkhUMWX zZ2Ny`HQ?;i<*FA3oi?|nK=WYEqe};h z1=bbZmr&4`*&Q-Rkb)TBb-qDdHt4}U^?+Q@5u6<&?0pk!Za zJsY}XG7GyFP?H@I^_jfH=|+*rgg1#SASP5fyXUQ1Q=1Am;w23=@-f70EIHt9EmE42 z`9LpDxN@KiJf76wC#iv4v4y(x5cvHF#E*s>^aIs^YD>W5ZbAg@Ww}4hNi1^OsbhIx zvEfmUr-yUcThy?~MFX$t6VWXl`~5M}F0AzAQo^DGDPQj;Oqy@?kLx^qw954RaVsC) z0mzfmYkt96G~yDNbuyyME2raMz|V4Rz1+(~P379zXyrUPk4NtJ?BOi0D@H^Y$cxXs z{bRQd2lhhFtgd3drN`$Ri_Dq*DbqbdsN=dS7sl+~zvgN7$_5HDBk{sQ1x7LOy!Sw=3XM2nMr&y{^97W6b zW?BMMzW+~cU>apugyr*Puoa~;sNBHs{KC-8yC^3o2&U;o z^a_hZR4sYQ+~?zN`d0`|N+H+cYpiBWdMqB_S@!Ie=)izyUG7MozbSqTA^`Jbigw5< z2-VQ1bHDK5i>hLm0V}5~M_~rY*bR*vi*at>AmRDz6trW4P zV+{m^8;rKxHl+c3De2_HwL|{HAb~H@1f-SNIUMZ>6~IU9OP|HR;BE=|m6K~-p_F%% z?P7oM-E=E788JWVK}a9E$3-g7uiiTWbLE{T6@$;79)AoY@Z55O)g9r74mYxn^GF%!F$Cm{HZ8!-xnvg zKmu-)3IlzLG2+1?UKrj!_r930bzG~z=P4Y)dC1h_vvIMVSCpsOHb~PaC*RL3OR+N# zy)#ZhA-GX$=lRliLvyRjhcIKhHQnp43tHJ6HZ0HF4KGDgXUy9l88lhJOM|m;Hg%#`I@7)|N7B3Z(0d8vOcc6{hUD)9=SAKP)3P@l>PnqUX+u*zNJ-6n_Jc8I^s zx5ZzpRTm2X<^pUB!Cvz&y!LnBJ(_H8k#wLMgw&T0P_Ick-1kS^O6g}jWFi5ZAKZuN zpul5^Jsfi8h@%XF5?njO@nF%RdONo7$brIbUQB*NB6O$0r(6pjU#L&NQdpNV5Jn$-U(o8e~z?cEekjO^%U2p8IM3FjO zbEZeG2V~j@U1?>Cc1pGTFGO8WzBxYnA?mudXZkzR@Mbib^+v5mC76KG_dQ<-Hdx7Q zhNAUVTeSS7eKrg9ck3aMs=uv=z=kB<)#e2b>Jh(xz6?OdrIvs)K4oa>P$mB*Pp1yd zsx}6dli)17B3ecq-6x-8`BChoNMcwubw~lv!=Scdmz&SJhH+-C` zoLb|uwT*C)@}3^#6aS|MX!J?>3i#&A_hES44FUSs1~4KI9C;IP8=6mNSA+}h{@VY~ zGr=({9v~H51|+Tdraq5qT>-Vmf?vlyT}y;*`r`&#g!t5{bb@6znSci9W3#7 zwLwvkIW)C%y(IID*@L+pYnu)Lm_nHpmU$O`5LW($Om@IWaYl?=qMs*Q_mO$;K6=JK zP&#Ygiy78lxTnrgbj;~*yBTlkM^W;-&lj}^jF2SYijNK+4>{5GRpqujA$~tOrNosz zt-hw5CtfGi$pu2hWc@`Ar8?Tdgc{OMW&ZF}XS~BQn$pNoJ?*3FJ)(utVxvYs731|k zJiP?vDb@?`JNy*n45c;q+=Zoee@C z&zB9GO+IJl|GbQS==5RJkT#j<<4;@~vEs|z$8vQ~Qwof>M}5E1aX~Lt4xfm=gC9_= zF>WgDs2^I4ZUbZpPXgI9 z@iZhQ(H|0T0PFZ-@k#9LiX>o2ax)cg*pyf8ZDw_=i#C+CznVddkdHn~b3EX1rmmnbw^l zf_Xl=`V^k-SW)-L_}djDG)i#LnQ5qV7uLKDe%PP44ERmuliO$?RK#PS`;>)z4UiKN z=U#mMB3e1ky$3!!8P?1ayu67;gEq!voQjkS>Cft4Z;uqi$E(2&$MthbA`i&e`!#^w z*0FcF$}?i}1{}oW3^zlJJlle=rrY{H^}WpanJQHGxx)ZQeoQu^QN@QsLUqr=Izk~h z%f9$sJWuJYj={!sHcae*S-pWe`eC@tX0;vB-l6^U#VQhrLB16UIz%G};ASx}&ijK~ zTI6x+3}5iqCDm?ptyQ+yjq>aj)g+ zp958e^k6N$A)bWIF5Ci4qoQ)GJPE!%)`#GLUfVAxqR-CPn`n0dqV?e@x4}yDMFTa) zRP@n!j<$5lHm**NicleQJnC+G!B1(|YI;*q%=nPpm0k2Ott(9OZd`c;OI+`XXq?%W z0x|CRb1~3-G7MJsHB1u_vKW4SxwaW3R{}lNRQm(Ah`f9!$7`gr_z9-bz78W=}Pc-zDO2 z+XW;a2b5kU>PDQcBgM{}Yk3mf&a*PD9l2G4(d(lE=Lba9zpJ(yC zMt2iKdgffZmaW!;Lf^gN!u?x8{z%n64Cvc5gfe0WVde5C_O~?>0Ab}m`X@L6n3Ixf zl<(j{WVoCN^g@BV{5GNzY-4jYGGm_0=ES&e&P1wPXINUVw)W5Eyv}1GPbr8CB`CaS ze<4x*Tv2Fz(T@2@2=oK~hv;i9z*c@EdG1{K-y{_@O63Wl`m!Vx1FkwEBu~^mk39t> z=_EDRlf*ArFMHI22MM7C<4eF>t?%05YKug|oq8eR0|n+a38iHP%Iyj=?Wa*mnvEZJ zCuTZK1_*->mV*%u7p#y7%rL(_kAb> z$Pi6M;sHy*>K_`!cDBy|4S3@H$>qvY<`mM(-KQtIM}J^>w(E2go`*6IXTONlNj7-# zhOmrgm093>+wmX!lzmda){eQ>Cu+u*pceQyb%c1?L8e;T?le;^ni6VY^dg#Ya{1cw z!)uHr@(i%3Xn$K&Kz7xA4MBJZ_{c2HY)hd0nF*w{xA>F}*T;?dXerBce=DGLDD{r> zC>Q*PX6{#a@o=798fTUXJL!--vt&wAK^e?_;+7>qL<;t~n(rfc|24fTQ)ZP=^?hvU zf-5%SHyR5NZ&yoNwIpI9A$+Wgo7gMCH$KP>>P*pu&H}P}1ePGW7T$TPDkDf>~ z*J4D`Bo?^ai=1wvqRiU@XU72&s#-^0YaeXwO_z(W4*q`n07%CppLjGY@x|lShL$NouOiWfQe>hR^3ADYTkx=D{t}2Lem^Lwg#zp zcl@m+^dY43TVhDmLdZ|w;s|aWP0LS1nABXWVpOuQ`7o+l)jj0LE4SZu9Fg+!xBXEE z0(wjDLwnp{j>aN+j-?vKzVqh!o`gY6fNz_a41ZX&Qt0Nx*Gtdz`_huHO^H{w05C>_ z46rYlcJB)b`|na@-J^Mc2Fe{VKTxp)IB?W4Wb}-dd-o9VmN8&x1@&wD_Ng;By%zQK zop|vLGXuz*@0uqA1Et#?V{D@bN~8NFU1{jAy{O~$fZ02ZZ~GNrsK;_KP@59-YnmyV zqG1Pd9=H=<&ZugRliF$C9dwY|iT_q}P2NrtcVc9mPoc-xRWRq5>r3kIt}oM?rV(@4CxyygS_B#?($mpT*H)5B#XJ0QL= zRrfd_@M)~|WK)*BDZ2K@PyGL@OZERf($ar>@xL3^@GnpR?DYR}hKG3o$rd(Qj*4t- z_W>0h#Zs$!&mhF8SzAV?)3mayF+5Ascadv+9`IJ(6I+|hSNIqv5=B>R;5J(4g!#L= zY!A^M85-MtTt#cL)Go7jv2Ibr`vEr~72TPcv4mkpuUEiE&<r8E&f3!5VpMV#?Aq#&!o(Yyv;zPG z4C+plf4t$;r ziA)q$D?ElSiK=?J<}2v8gdq@+;il(rnct@ zznDC?o#5=S3VEcduzP@6aZ`9NX88dn`?8`74!*M!w!NV}>c<9(FO|@B#}^jy=+aJ6 zB`y$Zq;sqm zplG5Wtf5TzM-r<5SR?FDkJy!P=f8c#-ECHeau9-T&>?Us2Oq2TEFE4p=6=pVUvvyr zD)mr68x#|_NbMBA3sQ4RFZ;+Hk{D#T$l($Bu1h-ydv%%syEEaT9lW}-0>mf`#MvK)zZkBr(Vm)ybuRtO z9NaRd&UQ71q4%WBjLj3@Mb-JmGE9V*D z$7re#TNEMy_cSXHXVYikjR#E^7wlTJ-U3C`mP2fe-vB-|4h0{6p%p${8xyyw0_1;V zk>f`9RCtUP)i(u12MhdL{+-t-pbs`S*b72t>(J# z=6pWvy;Bj%`L{x@g3h90(1;ey2FT~5b6JbUW$H=1 zDRFP@Bqi<#K4o9yn(|%ytT%gbow{TDQ7m~2K4C?DjTJ`V!5pcdBAk^RcF$>8c!ry1 zqReyMgXrTp2X}^rE(VycMZ?VURG%k)M5_!SMVI+B`)+=P5PDssH+-0XBlH8Wnm-Jy zk`2_sadD+1Ib#GvLJ4DFBjWr8I(M${tuflxTgU&g#&|DK`Mh%!fvYccPIUJl?&6uH zn+>rB7!Gy;4_ZZ6{&oURF!;-dzk;0)xeBkfP^#q)_zTbiX+r{BK|Sya4z&dK-{6Gp z^+t9&IRCz$R!1&0yZVVT(UB7M8a7C1fBG9ZVQiTY5YuGxz)NiO(y?!9Q4^YH3B|DW z5cN3not%Qw4(_nIzObJ*Gp!E>^pF54qOplHmvSC-jeOv~(S|>8iOL~@(oI+C8?yUM zLL5}G^kMeWw$3(*M|NiUPU-TDfX#@%k%0tV5!N!>w~s_~Xl&-p#cT;@6hfH&K{7{b z2cB2y_s#J*5d2?}e4ZVhd>CcIT;KgtJxS38QZIZXAg}vO*yB31Cj}1hcD*g^P!aH7 ztd17#FN%0`Xd7~9dR}Gs;1L&1E6L=yJA9H`O)cp9PPGV5g!)ud;6mxmp$a_%B7aWD zCx{oW_^>oy?41LJ;NMO!bt?Zjy+j*HM*nb`u`hX6)<<-8Ij6QW)g4v~;;z0pyC%aM z6y2By7~v|d>vjTz|im^dIJZ+oPNyG&) zse@}I@e1)&6ktW$t8^+1LF17JXXnEx;QVnwL3@&c(Mze^@mau)`^0wF7`k8DkddAE zs;nrl^;6Ne-A&p>JqBIMHjZyP3u(`0+r>2^fxOz3FOb0WmCL9ss@&C_KRIA)3K<$D z6I2G6`OK*I)2JVB+S9?64So9&4O1i8wxDDAPrDDS3r?tF14Ak2GeIBY3}OL4+vZC$ z`=nWOZ%60$urqBoHOs%1jyS$|jaj$kZ37cPRQ0le@JBma8@u!U?yB(2UMgqKU%U*` zsv34>UK?(vXyZ`IU-0+%;bJ=#3k6RKYO}N@7P{PFgaTW)ZTbRo`VwH9^N(0%dnznH zNA`)0i9fMEepGS!+N7xgTQl_nV0`=2ycS9_uT97dP-VVpXpq>?=YfL^3mycMuwgOW~;7Mc>97@)fE{<&{EbI3zaq&iC=Y zk9=O_p3mO6=+}d_BUNtrp7Q7s3oI3oSZ{RQnsk<5WE<-&tvdyHt~(5;N!ENY102Cm z9h7l8CcJx34=-q}cRGc}^e6sstUc{|!r?X6&@XP*0Okos8y2bpE32UGz1;DSuv6N_ z)8}rj*;@+%n1_q{5j)qY_1o0Dz8S!ziurNrDay?FZI(;fj=AWdSvw8g?{nEKFZ96K z+G$3>->H&RfJQOHz+I3{RY+G{{)9v80F#daOa;)J>BA;E;pZGuXEW(*YxYC|z{7AtWPVPX!iu{;@Ixo; zx`?SxJRnc;ZP)!uFzN7ow>zTpJVC*9m2FobOj_EH#P)sv7DvTH1FU`K+$= zYw1>F1GXUT97y4$`RA}2i$rgq&8@+|RP69(MUN-#S|!*hnF^HTDGHx@YLRpX~$4$y6YVaxW|WI5us4 zYZ3b&2{|mVks14Z+@!n3eGAR<%+(-yRvnvzwXwJunYG|-a8FS^0he^SZfv1 zFGR*qz(p?~-~D{-5@jB|rNrA4k)@Utk9SN;*6yld#Z4w40-)=E)uonrR6?wl9#^VQ zrqKihcsoRz7TbuhGKu3csc!W}u39593JIPJfgG^)?#zc!5q$D2z5BFGTCd-datVi1 z=)X-x*5=H(s6k+-$D$Z1T2+&3xD z*B!-aeKyDO$5%SBD^V!C-I>0)I7xfAnB&maiN5PcxOa~hRn8rMjR1r7m#mmrH)np>Ts4w26cVJcTWDo@cZI1Se6*B5`soN zmnWtzw((KAqlb}Sz&O{qja6$)K5?a00Lg*se@6Z_o}pauhP`f1A8xU(sLVa-{JYAr zJ(H!!TD!*S;2P;M4Ib{Rr|m&?l{M${M{IuYS(2|VHy^Zh;Dl7zbT5h()IacL?cMCW z-#C`^V);Qf&sX@vrJ&i~eyBs~+lTi>FRK-XN55dy%puwGL`MXMJ%GB)>qBkr3FGAx zhxPO}R7PDQ*>Le6a@`!<6&znYV=IJx;`7|}30q>iCiSMjz-(r;t6T2oI@#DAA@SZ9 zao7PtZz`HwjJvnEg8`#9_?@?TR<4QdR$30f-)4e}-A7^m4#Rtek)#UTmXMLY)DKIv z;zks%3CO@Jubb$K&8lp*>HW*NoY;0R`~F-SQ%`i49y~4AWLTzesjp^{{b*0kENs*` zf5BsYK@I?f2zZ1Pq};ldRl(P1hHZ$(u{mC>cJQISyql{-h(#5d=ALuNL5~rZzEPpn zBXS9Uz){Mph~sUlY5jn?Bn0g5H4;jJF?10{*(Oyo z$W0YSadPjYa&LO?$!(nn-v#@C95h|Ed^$|}t%X@nf8B_7R1pDlr%3NQY>fTA<(~_% zov^2)NejFP)t)MfZrLd9>w_*$wrZ43ag}7hZX8TTcCts`D}C4UptQn+H%_Xuoj)68 z&kCub8`$@U_SoZ7N79b@I`SPfaxZ}iYDQtW)`e9E{0+5P^ zr-TDVoLhAqpqK`}ltH0^i!MR?ch5gzoKg^OS4z-LwYEwZXi^zjFQ)D9ndlO@frA~b zn?t95@8rzYouzMY5zV|EPweeXN-X~_vsr52{Z&w^oK%dtNk=Rpq2yADx%j{(8L9)Z zuXlZvKfx=wKgZCO1lTV2#5shPi`wE~Y{{v2-I;H%(KJ77(Kxt7%k}7a6!wLCe{PAF z2Z!SgImLs!-^bebz}Ql|W1V8!q+-b`FLV6;VJG5J+eHc{FfmKqk(;Q&yDjml`Sv*F zlH{%WrFX@ON?)7u>`E;#_H)C-eCv;(yS@_?IRcl$%aL79QZ}a4A{ZXO!QXqgg{)U1G3etJ|%XD#oMkEm(2sm1upA<5__j zWP5kBtMK9+Wg}|OC(qb_^=PdT0|-vTt@!(HqJDIiA^rO*f!r0e*~SK%n<$HmbTIl0 z)mP+(ztZl$)z)EgW_G@DN#ov@N!y@8YJz0-*N-4N3Bh9POIlP3XJ38JJkWC9d*Yz) zR)Wf|rn%qZ1I_wMZ%Aa{=$RiH9rRy!N@)|yGPOl4cg25INu_L)37ZjZtnED~rSR34 zOf*_VEqdUR_k{A1S~HEmk4^W2^L2Abtf$ylmPtwg zsPHQWAUiBDQUTrSdBklSM^A9Ck6xQu6+xBK!`1}5uVHFqOKFZ5D?s<9TuiL8UYZzER zM!=hXOb0}oj8b3Uyd+&BeWm}6?mqrqagVNAEK~S*I=^A{tJVAa#a#Yh4Enw3=#d%q zk8j8-&NP{*wK4Y78TJ5yeph&_lEEkMYV7J_-qU-fZ^xwW{%-ao^3_#~wBP?Lq~C7i z+;{&QchalQgSFam>-Ju6a|cGirF4<`KLt?y)o^m_^|wt`&u-n(zdvW+i_o=q+rF=R zy_8da--hJUzn^|x%lqGbHp0=z)^fx1Or~;o3y@Q4-9FCbU#KA04Q~Q6%$W7I(6PDb zZq{e>`q{Vg4hQcxd6>DIp)^)tukxC*-TlC$CQ46NiDqwSD$82aoq6v=g_!(FHQyy( z^8;(1IcszrUj%QaGb~F>FJk$gPz}7V{aWS?KmWJRP$&KH9wX3<4W@n}Bo>S-HXd{KlJqEJn=eL<{ z(>RmhxWztWcSLp1FTT(Bnr_ry&zmX5z2#{B{ZFQ4_aDAJWGwH5lI;v6KhL-yo_}|H z@@cQ@{*UW111NXMazQ>5Fqi4Q;P5;=pcShbDv0{V#C3Q2s zirXvqDBNln|9g1(F{XPxPcH&%$CYi{USp)+&Ka#s<=J&l)_;t7uY0uaD%ZNtU&C*% zi+-?5Qd+m;pi)b&u}?4S{50tlrA(vHUpNTR_JZ1j`jB=pLWmNX)nE| z^Ts=1Q}gbDNBZaQTtCcuQFlV}np^9Ilm9LM+5PIvWWJ?c=QRqSF{7qhwZvZ``&DQ1 zU0q|EdyRuf?#*lcDY^AOjG}f|T?a1KxhGS#N8uW`>@M@gCe=%hO}qQJDKGM!%cYc6 zS0tC7!zdr_m~Ly>`Mv7bwwaHm_m>{wozb<`K!5A+4@Y8qidhTq?&Sgo&$ZQZ^Y-1$ z{kExE#lSGE{?^jk*0|lVN|{=rNxQ$yl=na@@)?37!WVAaS*h>D=N)q6YuLSc->cTU zue(3%PR-8c3bW*+%ksRk-pu`;x%?YL=aSBl&bMsm{urRuvaS{r zUv}Nw{rO+n>jz2?T(g#E*v@))+3$W|Z|VGRFRbpZ^OjoPwO!ik^WhHE&N*WO)7R8} zDZaZZ^WI&td$nFrV(*C`Uz_j7soyQj{vVZ8{Wd?|@lKxo{yqDx&m0!7K4$iQKd*hR zLgo~$dwD<3@GGMBaab5m2%)ySnHW;g8-5I%(3&<343X$wYtTV!P%$`6Lu;)tD0riX z>IBtM=RgNoMo{R8HaPM9-)j3Po{@p!h}VB%&NJ5^?%(GAN1Fi%_A`mN04WxY4j{=9 z06g=AL0|#!tQH0Z2jGDy3=R#zQ&<=p7+3{?(u`b6Kyp+AQK9so`A>Dnz5W|a0l+Y0 N@O1TaS?83{1ORll06YKy literal 21552 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 N@O1TaS?83{1ORll06YKy diff --git a/book/404.html b/book/404.html index cd331ba6..4b505ff2 100644 --- a/book/404.html +++ b/book/404.html @@ -23,7 +23,7 @@ - + @@ -218,42 +218,41 @@
  1. 1.4 RStudio: An Integrated Development Environment (IDE) for R
  2. -
  3. 1.5 Rcmdr (R Commander): A Graphical User Interface for R
  4. -
  5. 1.6 R basics
  6. -
  7. 1.7 Managing Packages +
  8. 1.5 R basics
  9. +
  10. 1.6 Managing Packages
  11. -
  12. 1.8 Getting Help
  13. -
  14. 1.9 Documenting your work +
  15. 1.7 Getting Help
  16. +
  17. 1.8 Documenting your work
  18. -
  19. 1.10 Organizing your work +
  20. 1.9 Organizing your work
  21. -
  22. 1.11 Saving your work
  23. -
  24. 1.12 Exercise 1
  25. -
  26. 1.13 Loading Data
  27. -
  28. 1.14 Data manipulation +
  29. 1.10 Saving your work
  30. +
  31. 1.11 Exercise 1
  32. +
  33. 1.12 Loading Data
  34. +
  35. 1.13 Data manipulation
  36. -
  37. 1.15 Exercise 2
  38. -
  39. 1.16 Review
  40. -
  41. 1.17 Additional Reading (Introduction)
  42. +
  43. 1.14 Exercise 2
  44. +
  45. 1.15 Review
  46. +
  47. 1.16 Additional Reading (Introduction)
  48. 2 The Data We Use
  49. 5 Sampling
      diff --git a/book/data.html b/book/data.html index 92f5c4ad..0a7580fe 100644 --- a/book/data.html +++ b/book/data.html @@ -23,7 +23,7 @@ - + @@ -218,42 +218,41 @@
    • 1.3.3 Packages
  50. 1.4 RStudio: An Integrated Development Environment (IDE) for R
  51. -
  52. 1.5 Rcmdr (R Commander): A Graphical User Interface for R
  53. -
  54. 1.6 R basics
  55. -
  56. 1.7 Managing Packages +
  57. 1.5 R basics
  58. +
  59. 1.6 Managing Packages
  60. -
  61. 1.8 Getting Help
  62. -
  63. 1.9 Documenting your work +
  64. 1.7 Getting Help
  65. +
  66. 1.8 Documenting your work
  67. -
  68. 1.10 Organizing your work +
  69. 1.9 Organizing your work
  70. -
  71. 1.11 Saving your work
  72. -
  73. 1.12 Exercise 1
  74. -
  75. 1.13 Loading Data
  76. -
  77. 1.14 Data manipulation +
  78. 1.10 Saving your work
  79. +
  80. 1.11 Exercise 1
  81. +
  82. 1.12 Loading Data
  83. +
  84. 1.13 Data manipulation
  85. -
  86. 1.15 Exercise 2
  87. -
  88. 1.16 Review
  89. -
  90. 1.17 Additional Reading (Introduction)
  91. +
  92. 1.14 Exercise 2
  93. +
  94. 1.15 Review
  95. +
  96. 1.16 Additional Reading (Introduction)
  97. 2 The Data We Use
  98. 5 Sampling

    The manual pages for soilDB and aqp are accessible (click index at the bottom of the Help tab in RStudio) by entering the following into the R console:

    -
    # load the libraries
    -library(aqp)
    -library(soilDB)
    +
    # load the libraries
    +library(aqp)
    +library(soilDB)

    2.2.2 Importance of Pedon Data

    @@ -560,17 +568,17 @@

    2.4.1.1 Promoting a data.fr

    In the pre-course, we had you set up a process so you could connect to your local NASIS instance to “fetch” data and have methods like fetchNASIS put things together for you.

    This input to make a SoilProfileCollection can be represented most simply as a data.frame with unique site or profile ID and depth combinations for each horizon or layer–for example, a subset of the phorizon or chorizon table in NASIS.

    A simple demonstration of “tabular horizon data” is the sp4 data set bundled with aqp: some serpentine soil profiles stored in a data.frame in the aqp package (after McGahan et al., 2009).

    -
    library(aqp)
    -
    -# Load sample serpentine soil data (McGahan et al., 2009)
    -data(sp4, package = "aqp")
    -
    -# this is a data.frame
    -# same as if loaded from CSV file etc.
    -class(sp4)
    +
    library(aqp)
    +
    +# Load sample serpentine soil data (McGahan et al., 2009)
    +data(sp4, package = "aqp")
    +
    +# this is a data.frame
    +# same as if loaded from CSV file etc.
    +class(sp4)
    ## [1] "data.frame"
    -
    # inspect the first couple of rows
    -head(sp4)
    +
    # inspect the first couple of rows
    +head(sp4)
    ##       id name top bottom   K   Mg  Ca CEC_7 ex_Ca_to_Mg sand silt clay   CF
     ## 1 colusa    A   0      3 0.3 25.7 9.0  23.0        0.35   46   33   21 0.12
     ## 2 colusa  ABt   3      8 0.2 23.7 5.6  21.4        0.23   42   31   27 0.27
    @@ -588,16 +596,16 @@ 

    2.4.1.1 Promoting a data.fr
  99. ideally there are no gaps, overlap, or missing top/bottom depths (more on that later)
  100. Use a formula to specify column names in the data.frame, in this case "id", "top" and "bottom".

    -
    #      profile ID ~ top depth + bottom depth
    -depths(sp4) <- id ~ top + bottom
    -
    -# note new class
    -class(sp4)
    +
    #      profile ID ~ top depth + bottom depth
    +depths(sp4) <- id ~ top + bottom
    +
    +# note new class
    +class(sp4)
    ## [1] "SoilProfileCollection"
     ## attr(,"package")
     ## [1] "aqp"
    -
    # compact summary
    -sp4
    +
    # compact summary
    +sp4
    ## SoilProfileCollection with 10 profiles and 30 horizons
     ## profile ID: id  |  horizon ID: hzID 
     ## Depth range: 16 - 49 cm
    @@ -626,28 +634,28 @@ 

    2.4.1.1 Promoting a data.fr ## [EMPTY]

    The formula expresses the idea that a profile id defined by set of top and bottom depths.

    NOTE: A character vector with same names has the same effect, and can be easier to “program” with than the formula-based syntax.

    -
    depths(sp4) <- c("id", "top", "bottom")
    +
    depths(sp4) <- c("id", "top", "bottom")

    2.4.2 Promoting to “Spatial” SoilProfileCollection

    You can also use the SoilProfileCollection to manage the information about a profile’s position on the Earth.

    Chapter 4 will cover spatial data in greater detail, and the SoilProfileCollection Reference has a section on Spatial Data. For now know you can use the initSpatial<- method to define “X” and “Y” coordinate columns and the coordinate reference system in one line:

    -
    sp4$x <- runif(10); sp4$y <- runif(10) # dummy XY coordinates
    -initSpatial(sp4, crs = "EPSG:4326") <- ~ x + y
    +
    sp4$x <- runif(10); sp4$y <- runif(10) # dummy XY coordinates
    +initSpatial(sp4, crs = "EPSG:4326") <- ~ x + y

    This is new syntax introduced in aqp 2.0, the older syntax uses the coordinates<- and proj4string<- methods.

    2.4.2.1 Extracting Site and Horizon Data

    You can extract values from the collection’s @site and @horizon slots using the site() and horizons() functions. These create data.frame objects that are separate from the SoilProfileCollection.

    -
    # extract site data from SPC into new data.frame 's'
    -# note that it only contains profile IDs
    -s <- site(sp4)
    -str(s)
    +
    # extract site data from SPC into new data.frame 's'
    +# note that it only contains profile IDs
    +s <- site(sp4)
    +str(s)
    ## 'data.frame':    10 obs. of  1 variable:
     ##  $ id: chr  "colusa" "glenn" "kings" "mariposa" ...
    -
    # extract horizon data from SPC into new data.frame 'h'
    -h <- horizons(sp4)
    -str(h)
    +
    # extract horizon data from SPC into new data.frame 'h'
    +h <- horizons(sp4)
    +str(h)
    ## 'data.frame':    30 obs. of  14 variables:
     ##  $ id         : chr  "colusa" "colusa" "colusa" "colusa" ...
     ##  $ name       : chr  "A" "ABt" "Bt1" "Bt2" ...
    @@ -683,27 +691,27 @@ 

    2.4.2.2 Methods like data.f

    See Chapter 1 and the Chapter 2 Appendix for additional details and examples.

    2.4.2.2.1 Column Access by Name: $ and [[
    -
    # sp4 is a SoilProfileCollection
    -sp4$clay
    +
    # sp4 is a SoilProfileCollection
    +sp4$clay
    ##  [1] 21 27 32 55 25 34  3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32
    -
    sp4[['clay']]
    +
    sp4[['clay']]
    ##  [1] 21 27 32 55 25 34  3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32
    -
    # horizon data.frame
    -h$clay
    +
    # horizon data.frame
    +h$clay
    ##  [1] 21 27 32 55 25 34  3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32
    -
    h[['clay']]
    +
    h[['clay']]
    ##  [1] 21 27 32 55 25 34  3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32
    -
    # use $<- or [[<- to set proportional clay content
    -sp4$clay <- sp4[['clay']] / 100
    -
    -# undo what we did above; back to percentage
    -sp4[['clay']] <- sp4$clay * 100
    -
    -# create new site variable ("numberone" recycled for all sites)
    -site(sp4)$newvar1 <- "numberone"
    -
    -# create new horizon variable ("numbertwo" recycled for all horizons)
    -horizons(sp4)$newvar2 <- "numbertwo"
    +
    # use $<- or [[<- to set proportional clay content
    +sp4$clay <- sp4[['clay']] / 100
    +
    +# undo what we did above; back to percentage
    +sp4[['clay']] <- sp4$clay * 100
    +
    +# create new site variable ("numberone" recycled for all sites)
    +site(sp4)$newvar1 <- "numberone"
    +
    +# create new horizon variable ("numbertwo" recycled for all horizons)
    +horizons(sp4)$newvar2 <- "numbertwo"
    2.4.2.2.2 Row Access: [
    @@ -712,8 +720,8 @@
    2.4.2.2.2 Row Access: [

    In a data.frame you have object[row, column, drop=TRUE]; the result is a data.frame (or a vector with default drop=TRUE).

  101. In a SoilProfileCollection you have object[site, horizon]; the result is a SoilProfileCollection.

  102. -
    # i-index: first 2 profiles, all horizons
    -sp4[1:2, ]
    +
    # i-index: first 2 profiles, all horizons
    +sp4[1:2, ]
    ## SoilProfileCollection with 2 profiles and 6 horizons
     ## profile ID: id  |  horizon ID: hzID 
     ## Depth range: 34 - 42 cm
    @@ -734,8 +742,8 @@ 
    2.4.2.2.2 Row Access: [
    -
    # j-index: all profiles; first 2 horizons of each profile
    -sp4[, 1:2]
    +
    # j-index: all profiles; first 2 horizons of each profile
    +sp4[, 1:2]
    ## SoilProfileCollection with 10 profiles and 20 horizons
     ## profile ID: id  |  horizon ID: hzID 
     ## Depth range: 5 - 40 cm
    @@ -763,8 +771,8 @@ 
    2.4.2.2.2 Row Access: [

    When you use the [ function, everything in the SoilProfileCollection is subset simultaneously depending on the constraints specified by the indices.

    -
    # First profile, first 2 horizons
    -horizons(sp4[1, 1:2])
    +
    # First profile, first 2 horizons
    +horizons(sp4[1, 1:2])
    ##       id name top bottom   K   Mg  Ca CEC_7 ex_Ca_to_Mg sand silt clay   CF hzID   newvar2
     ## 1 colusa    A   0      3 0.3 25.7 9.0  23.0        0.35   46   33   21 0.12    1 numbertwo
     ## 2 colusa  ABt   3      8 0.2 23.7 5.6  21.4        0.23   42   31   27 0.27    2 numbertwo
    @@ -998,26 +1006,26 @@

    2.6.3.1 fetchNASIS arguments2.6.4 The gopheridge Dataset

    The gopheridge sample data set is a sample R object returned from fetchNASIS() in a self-contained .rda file stored in soilDB.

    Open RStudio, and set up the environment by loading packages and the gopheridge sample dataset.

    -
    library(aqp)
    -library(soilDB)
    -
    -# load example dataset
    -data(gopheridge, package = "soilDB")
    -
    -# what kind of object is this?
    -class(gopheridge)
    +
    library(aqp)
    +library(soilDB)
    +
    +# load example dataset
    +data(gopheridge, package = "soilDB")
    +
    +# what kind of object is this?
    +class(gopheridge)
    ## [1] "SoilProfileCollection"
     ## attr(,"package")
     ## [1] "aqp"
    -
    # what does the internal structure look like?
    -str(gopheridge, 2)
    +
    # what does the internal structure look like?
    +str(gopheridge, 2)
    ## Formal class 'SoilProfileCollection' [package "aqp"] with 8 slots
     ##   ..@ idcol       : chr "peiid"
     ##   ..@ hzidcol     : chr "phiid"
     ##   ..@ depthcols   : chr [1:2] "hzdept" "hzdepb"
     ##   ..@ metadata    :List of 6
    -##   ..@ horizons    :'data.frame': 317 obs. of  73 variables:
    -##   ..@ site        :'data.frame': 52 obs. of  142 variables:
    +##   ..@ horizons    :'data.frame': 317 obs. of  77 variables:
    +##   ..@ site        :'data.frame': 52 obs. of  164 variables:
     ##   ..@ diagnostic  :'data.frame': 164 obs. of  4 variables:
     ##   ..@ restrictions:'data.frame': 56 obs. of  8 variables:

    There are many columns in the data.frame objects within a fetchNASIS() SoilProfileCollection.

    @@ -1026,91 +1034,95 @@

    2.6.4 The gopheridge
  103. fetchNASIS(from=“pedons”) column description guide
  104. With siteNames() and horizonNames() we can view the names for eachslot respectively in the gopheridge object.

    -
    # the fields at the site and horizon levels within the SPC
    -siteNames(gopheridge)
    -
    ##   [1] "peiid"                         "siteiid"                       "ecositeid"                    
    -##   [4] "ecositenm"                     "ecositecorrdate"               "es_classifier"                
    -##   [7] "siteecositehistory.classifier" "es_selection_method"           "pedon_id"                     
    -##  [10] "siteobsiid"                    "site_id"                       "obs_date"                     
    -##  [13] "utmzone"                       "utmeasting"                    "utmnorthing"                  
    -##  [16] "horizdatnm"                    "x_std"                         "y_std"                        
    -##  [19] "longstddecimaldegrees"         "latstddecimaldegrees"          "gpspositionalerror"           
    -##  [22] "describer"                     "pedonpurpose"                  "pedontype"                    
    -##  [25] "pedlabsampnum"                 "labdatadescflag"               "tsectstopnum"                 
    -##  [28] "tsectinterval"                 "utransectid"                   "tsectkind"                    
    -##  [31] "tsectselmeth"                  "elev_field"                    "slope_field"                  
    -##  [34] "aspect_field"                  "plantassocnm"                  "earthcovkind1"                
    -##  [37] "earthcovkind2"                 "erocl"                         "bedrckdepth"                  
    -##  [40] "bedrckkind"                    "bedrckhardness"                "pmgroupname"                  
    -##  [43] "hillslopeprof"                 "geomslopeseg"                  "shapeacross"                  
    -##  [46] "shapedown"                     "slopecomplex"                  "drainagecl"                   
    -##  [49] "geomposhill"                   "geomposmntn"                   "geompostrce"                  
    -##  [52] "geomposflats"                  "swaterdepth"                   "flodfreqcl"                   
    -##  [55] "floddurcl"                     "flodmonthbeg"                  "pondfreqcl"                   
    -##  [58] "ponddurcl"                     "pondmonthbeg"                  "climstaid"                    
    -##  [61] "climstanm"                     "climstatype"                   "ffd"                          
    -##  [64] "map"                           "reannualprecip"                "airtempa"                     
    -##  [67] "soiltempa"                     "airtemps"                      "soiltemps"                    
    -##  [70] "airtempw"                      "soiltempw"                     "surface_fine_gravel"          
    -##  [73] "surface_gravel"                "surface_cobbles"               "surface_stones"               
    -##  [76] "surface_boulders"              "surface_channers"              "surface_flagstones"           
    -##  [79] "surface_parafine_gravel"       "surface_paragravel"            "surface_paracobbles"          
    -##  [82] "surface_parastones"            "surface_paraboulders"          "surface_parachanners"         
    -##  [85] "surface_paraflagstones"        "surface_unspecified"           "surface_total_frags_pct_nopf" 
    -##  [88] "surface_total_frags_pct"       "site_state"                    "site_county"                  
    -##  [91] "site_mlra"                     "slope_shape"                   "surface_fgravel"              
    -##  [94] "classdate"                     "classifier"                    "classtype"                    
    -##  [97] "taxonname"                     "localphase"                    "taxonkind"                    
    -## [100] "seriesstatus"                  "taxclname"                     "taxpartsize"                  
    -## [103] "taxorder"                      "taxsuborder"                   "taxgrtgroup"                  
    -## [106] "taxsubgrp"                     "soiltaxedition"                "osdtypelocflag"               
    -## [109] "taxmoistcl"                    "taxtempregime"                 "taxfamother"                  
    -## [112] "taxreaction"                   "taxfamhahatmatcl"              "psctopdepth"                  
    -## [115] "pscbotdepth"                   "selection_method"              "ochric.epipedon"              
    -## [118] "argillic.horizon"              "paralithic.contact"            "lithic.contact"               
    -## [121] "cambic.horizon"                "paralithic.materials"          "abrupt.textural.change"       
    -## [124] "mollic.epipedon"               "umbric.epipedon"               "lithologic.discontinuity"     
    -## [127] "calcic.horizon"                "petrocalcic.horizon"           "natric.horizon"               
    -## [130] "gypsic.horizon"                "secondary.carbonates"          "agric.horizon"                
    -## [133] "slickensides"                  "marl"                          "melanic.epipedon"             
    -## [136] "albic.horizon"                 "landform_string"               "landscape_string"             
    -## [139] "microfeature_string"           "geomicrorelief_string"         "pmkind"                       
    -## [142] "pmorigin"
    -
    horizonNames(gopheridge)
    -
    ##  [1] "phiid"                "peiid"                "hzname"               "genhz"               
    -##  [5] "hzdept"               "hzdepb"               "bounddistinct"        "boundtopo"           
    -##  [9] "clay"                 "silt"                 "sand"                 "fragvoltot"          
    -## [13] "texture"              "texcl"                "lieutex"              "phfield"             
    -## [17] "effclass"             "labsampnum"           "rupresblkdry"         "rupresblkmst"        
    -## [21] "rupresblkcem"         "stickiness"           "plasticity"           "ksatpedon"           
    -## [25] "texture_class"        "hzID"                 "d_r"                  "d_g"                 
    -## [29] "d_b"                  "d_hue"                "d_value"              "d_chroma"            
    -## [33] "d_sigma"              "m_r"                  "m_g"                  "m_b"                 
    -## [37] "m_hue"                "m_value"              "m_chroma"             "m_sigma"             
    -## [41] "moist_soil_color"     "dry_soil_color"       "soil_color"           "fine_gravel"         
    -## [45] "gravel"               "cobbles"              "stones"               "boulders"            
    -## [49] "channers"             "flagstones"           "parafine_gravel"      "paragravel"          
    -## [53] "paracobbles"          "parastones"           "paraboulders"         "parachanners"        
    -## [57] "paraflagstones"       "unspecified"          "total_frags_pct_nopf" "total_frags_pct"     
    -## [61] "art_fgr"              "art_gr"               "art_cb"               "art_st"              
    -## [65] "art_by"               "art_ch"               "art_fl"               "art_unspecified"     
    -## [69] "total_art_pct"        "huartvol_cohesive"    "huartvol_penetrable"  "huartvol_innocuous"  
    -## [73] "huartvol_persistent"
    +
    # the fields at the site and horizon levels within the SPC
    +siteNames(gopheridge)
    +
    ##   [1] "peiid"                                    "siteiid"                                  "ecositeid"                               
    +##   [4] "ecositenm"                                "ecositecorrdate"                          "es_classifier"                           
    +##   [7] "siteecositehistory.classifier"            "es_selection_method"                      "upedonid"                                
    +##  [10] "siteobsiid"                               "usiteid"                                  "obsdate"                                 
    +##  [13] "utmzone"                                  "utmeasting"                               "utmnorthing"                             
    +##  [16] "horizdatnm"                               "longstddecimaldegrees"                    "latstddecimaldegrees"                    
    +##  [19] "gpspositionalerror"                       "describer"                                "descname"                                
    +##  [22] "pedonpurpose"                             "pedontype"                                "pedlabsampnum"                           
    +##  [25] "labdatadescflag"                          "tsectstopnum"                             "tsectinterval"                           
    +##  [28] "utransectid"                              "tsectkind"                                "tsectselmeth"                            
    +##  [31] "erocl"                                    "elev_field"                               "slope_field"                             
    +##  [34] "aspect_field"                             "elev"                                     "slope"                                   
    +##  [37] "aspect"                                   "ecostatename"                             "ecostateid"                              
    +##  [40] "commphasename"                            "commphaseid"                              "plantassocnm"                            
    +##  [43] "earthcovkind1"                            "earthcovkind2"                            "bedrckdepth"                             
    +##  [46] "bedrckkind"                               "bedrckhardness"                           "pmgroupname"                             
    +##  [49] "hillslopeprof"                            "geomslopeseg"                             "shapeacross"                             
    +##  [52] "shapedown"                                "slopecomplex"                             "drainagecl"                              
    +##  [55] "geomposhill"                              "geomposmntn"                              "geompostrce"                             
    +##  [58] "geomposflats"                             "swaterdepth"                              "flodfreqcl"                              
    +##  [61] "floddurcl"                                "flodmonthbeg"                             "pondfreqcl"                              
    +##  [64] "ponddurcl"                                "pondmonthbeg"                             "climstaid"                               
    +##  [67] "climstanm"                                "climstatype"                              "ffd"                                     
    +##  [70] "map"                                      "reannualprecip"                           "airtempa"                                
    +##  [73] "soiltempa"                                "airtemps"                                 "soiltemps"                               
    +##  [76] "airtempw"                                 "soiltempw"                                "surface_fine_gravel"                     
    +##  [79] "surface_gravel"                           "surface_cobbles"                          "surface_stones"                          
    +##  [82] "surface_boulders"                         "surface_channers"                         "surface_flagstones"                      
    +##  [85] "surface_parafine_gravel"                  "surface_paragravel"                       "surface_paracobbles"                     
    +##  [88] "surface_parastones"                       "surface_paraboulders"                     "surface_parachanners"                    
    +##  [91] "surface_paraflagstones"                   "surface_unspecified"                      "surface_total_frags_pct_nopf"            
    +##  [94] "surface_total_frags_pct"                  "othervegid"                               "othervegclass"                           
    +##  [97] "site_state"                               "site_county"                              "site_mlra"                               
    +## [100] "slope_shape"                              "surface_fgravel"                          "classdate"                               
    +## [103] "classifier"                               "classtype"                                "taxonname"                               
    +## [106] "localphase"                               "taxonkind"                                "seriesstatus"                            
    +## [109] "taxclname"                                "taxpartsize"                              "taxorder"                                
    +## [112] "taxsuborder"                              "taxgrtgroup"                              "taxsubgrp"                               
    +## [115] "soiltaxedition"                           "osdtypelocflag"                           "taxmoistcl"                              
    +## [118] "taxtempregime"                            "taxfamother"                              "taxreaction"                             
    +## [121] "taxfamhahatmatcl"                         "psctopdepth"                              "pscbotdepth"                             
    +## [124] "selection_method"                         "ochric.epipedon"                          "argillic.horizon"                        
    +## [127] "paralithic.contact"                       "lithic.contact"                           "umbric.epipedon"                         
    +## [130] "cambic.horizon"                           "mollic.epipedon"                          "densic.materials"                        
    +## [133] "paralithic.materials"                     "lithologic.discontinuity"                 "andic.soil.properties"                   
    +## [136] "densic.contact"                           "abrupt.textural.change"                   "aquic.conditions"                        
    +## [139] "duripan"                                  "slickensides"                             "redox.depletions.with.chroma.2.or.less"  
    +## [142] "redox.concentrations"                     "reduced.matrix"                           "histic.epipedon"                         
    +## [145] "albic.horizon"                            "spodic.horizon"                           "fibric.soil.materials"                   
    +## [148] "hemic.soil.materials"                     "sapric.soil.materials"                    "volcanic.glass"                          
    +## [151] "folistic.epipedon"                        "strongly.contrasting.particle.size.class" "calcic.horizon"                          
    +## [154] "human.transported.material"               "albic.materials"                          "secondary.carbonates"                    
    +## [157] "anthropic.epipedon"                       "landform_string"                          "landscape_string"                        
    +## [160] "microfeature_string"                      "geomicrorelief_string"                    "pmkind"                                  
    +## [163] "pmorigin"                                 "site_id"
    +
    horizonNames(gopheridge)
    +
    ##  [1] "phiid"                "peiid"                "pedon_id"             "hzname"               "dspcomplayerid"      
    +##  [6] "hzdept"               "hzdepb"               "bounddistinct"        "boundtopo"            "claytotest"          
    +## [11] "silttotest"           "sandtotest"           "clay"                 "silt"                 "sand"                
    +## [16] "fragvoltot"           "texture"              "texcl"                "lieutex"              "phfield"             
    +## [21] "effclass"             "labsampnum"           "rupresblkdry"         "rupresblkmst"         "rupresblkcem"        
    +## [26] "stickiness"           "plasticity"           "ksatpedon"            "texture_class"        "hzID"                
    +## [31] "d_hue"                "d_value"              "d_chroma"             "dry_soil_color"       "d_r"                 
    +## [36] "d_g"                  "d_b"                  "d_sigma"              "m_hue"                "m_value"             
    +## [41] "m_chroma"             "moist_soil_color"     "m_r"                  "m_g"                  "m_b"                 
    +## [46] "m_sigma"              "soil_color"           "fine_gravel"          "gravel"               "cobbles"             
    +## [51] "stones"               "boulders"             "channers"             "flagstones"           "parafine_gravel"     
    +## [56] "paragravel"           "paracobbles"          "parastones"           "paraboulders"         "parachanners"        
    +## [61] "paraflagstones"       "unspecified"          "total_frags_pct_nopf" "total_frags_pct"      "art_fgr"             
    +## [66] "art_gr"               "art_cb"               "art_st"               "art_by"               "art_ch"              
    +## [71] "art_fl"               "art_unspecified"      "total_art_pct"        "huartvol_cohesive"    "huartvol_penetrable" 
    +## [76] "huartvol_innocuous"   "huartvol_persistent"

    2.6.4.1 Make profile sketches

    The plotSPC() or plot() function applied to a SoilProfileCollection object generates sketches based on horizon depths, designations, and colors. The SoilProfileCollection Reference contains many examples demonstrating way in which these sketches can be customized.

    The fetchNASIS() function automatically converts moist Munsell colors into R-style colors, available in the soil_color horizon level attribute. An approximate color mixture is used when multiple colors per horizon are present.

    See ?plotSPC for a detailed list of arguments and examples.

    The Soil Profile Sketches tutorial contains additional examples that demonstrate various ways to customize soil profile sketches.

    -
    par(mar = c(1, 1, 1, 1))
    -
    -# omitting pedon IDs and horizon designations
    -plotSPC(gopheridge,
    -     print.id = FALSE,
    -     name = NA,
    -     width = 0.3)
    -title('Pedons from the `gopheridge` sample dataset', line = -0.5)
    -

    +
    par(mar = c(1, 1, 1, 1))
    +
    +# omitting pedon IDs and horizon designations
    +plotSPC(gopheridge,
    +     print.id = FALSE,
    +     name = NA,
    +     width = 0.3)
    +title('Pedons from the `gopheridge` sample dataset', line = -0.5)
    +

    Additional examples / documentation related to soil profile sketches:

    -
    get('sites.missing.pedons', envir = soilDB.env)
    -get('dup.pedon.ids', envir = soilDB.env)
    -get('bad.pedon.ids', envir = soilDB.env)
    -get('bad.horizons', envir = soilDB.env)
    +
    get('sites.missing.pedons', envir = soilDB.env)
    +get('dup.pedon.ids', envir = soilDB.env)
    +get('bad.pedon.ids', envir = soilDB.env)
    +get('bad.horizons', envir = soilDB.env)

    These get() calls access variables stored in the package environment soilDB.env. The variables only exist if there are “problems” / values found by the data checks – and if you fix the errors in the NASIS database and the checks don’t find any errors then nothing will be returned by these functions.

    @@ -1188,45 +1200,45 @@

    2.7.1 Summaries2.7.1.1 table() and Cross Tabulation

    The base R table() function is very useful for quick summary operations. It returns a named vector with the amount of each unique level of the a given vector.

    The numeric vector of “counts” is commonly combined with other functions such as sort(), order(), prop.table(), is.na() to identify abundance, proportions, or missing data (NA).

    -
    # load required packages
    -library(aqp)
    -library(soilDB)
    -
    -data("gopheridge", package = "soilDB")
    -
    -# for these examples, we use the gopheridge object as our "selected set"
    -pedons <- gopheridge 
    -
    -## you can use fetchNASIS to load your own data, like this:
    -# pedons <- fetchNASIS()
    -
    -# summarize which soil taxa we have loaded
    -table(pedons$taxonname)
    +
    # load required packages
    +library(aqp)
    +library(soilDB)
    +
    +data("gopheridge", package = "soilDB")
    +
    +# for these examples, we use the gopheridge object as our "selected set"
    +pedons <- gopheridge 
    +
    +## you can use fetchNASIS to load your own data, like this:
    +# pedons <- fetchNASIS()
    +
    +# summarize which soil taxa we have loaded
    +table(pedons$taxonname)
    ## 
     ## Gopheridge 
     ##         52
    -
    # sort taxonomic names in descending order
    -sort(table(pedons$taxonname), decreasing = TRUE)
    +
    # sort taxonomic names in descending order
    +sort(table(pedons$taxonname), decreasing = TRUE)
    ## Gopheridge 
     ##         52
    -
    # could do the same thing for taxonomic subgroups 
    -table(pedons$taxsubgrp)
    +
    # could do the same thing for taxonomic subgroups 
    +table(pedons$taxsubgrp)
    ## 
     ## mollic haploxeralfs  typic haploxerepts  ultic haploxeralfs  ultic haploxerolls 
     ##                   1                   6                  44                   1
    -
    sort(table(pedons$taxsubgrp), decreasing = TRUE)
    +
    sort(table(pedons$taxsubgrp), decreasing = TRUE)
    ## 
     ##  ultic haploxeralfs  typic haploxerepts mollic haploxeralfs  ultic haploxerolls 
     ##                  44                   6                   1                   1

    We can convert counts in the table() result into proportions with prop.table():

    -
    prop.table(table(pedons$taxsubgrp))
    +
    prop.table(table(pedons$taxsubgrp))
    ## 
     ## mollic haploxeralfs  typic haploxerepts  ultic haploxeralfs  ultic haploxerolls 
     ##          0.01923077          0.11538462          0.84615385          0.01923077

    table() can be used to get counts over multiple dimensions of factor levels.

    We call this process cross tabulation.

    For instance, let’s cross tabulate taxonomic subgroup (taxsubgrp) and the particle size family class (taxpartsize) for pedons

    -
    table(pedons$taxsubgrp, pedons$taxpartsize)
    +
    table(pedons$taxsubgrp, pedons$taxpartsize)
    ##                      
     ##                       clayey-skeletal coarse-loamy fine fine-loamy loamy-skeletal
     ##   mollic haploxeralfs               0            0    0          0              1
    @@ -1237,7 +1249,7 @@ 

    2.7.1.1 table() and

    Since pedons contains site and horizon level data, when cross-tabulating we need to be sure pair a column from the site data with other site-level columns, and the same for horizon-level. This is because all arguments to table() must have the same length.

    For example, let’s cross-tabulate horizon designation (hzname) with horizon texture class (texcl).

    We can use the addmargins() function to add the row and column sums to the margins of the table for easier interpretation when there are many rows/columns in the result.

    -
    addmargins(table(pedons$hzname, pedons$texcl))
    +
    addmargins(table(pedons$hzname, pedons$texcl))
    ##        
     ##           c  cl   l scl sic sicl sil  sl Sum
     ##   2BCt5   0   1   0   0   0    0   0   0   1
    @@ -1276,30 +1288,12 @@ 

    2.7.1.1 table() and ## Oi 0 0 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 ## Sum 13 37 141 8 2 8 27 3 239

    - - - - - - - - - - - - - + + + + + + + + + + +
    +

    1.5 R basics

    • R is command-line driven. It requires you to type or copy-and-paste commands after a command prompt (>) that appears when you open R. This is called the “Read-Eval-Print-Loop” or REPL. After typing a command in the R console and pressing Enter on your keyboard, the command will run.

    • If your command is not complete, R issues a continuation prompt (signified by a plus sign: +).

    • @@ -778,69 +786,68 @@

      1.6 R basics
      # Math
      -1 + 1
      -10 * 10
      -log10(100)
      -
      -# combine values
      -c(1, 2, 3)
      -
      -# Create sequence of values
      -1:10
      -
      -# Implicit looping
      -1:10 * 5
      -1:10 * 1:10
      -
      -# Assignment and data types
      -## numeric
      -clay <- c(10, 12, 15, 26, 30)
      -
      -## character
      -subgroup <- c("typic haplocryepts","andic haplocryepts","typic dystrocryepts")
      -
      -## logical
      -andic <- c(FALSE, TRUE ,FALSE)
      -
      -# Print
      -print(clay)
      -subgroup

    - -
    -

    1.7 Managing Packages

    +
    # Math
    +1 + 1
    +10 * 10
    +log10(100)
    +
    +# combine values
    +c(1, 2, 3)
    +
    +# Create sequence of values
    +1:10
    +
    +# Implicit looping
    +1:10 * 5
    +1:10 * 1:10
    +
    +# Assignment and data types
    +## numeric
    +clay <- c(10, 12, 15, 26, 30)
    +
    +## character
    +subgroup <- c("typic haplocryepts","andic haplocryepts","typic dystrocryepts")
    +
    +## logical
    +andic <- c(FALSE, TRUE ,FALSE)
    +
    +# Print
    +print(clay)
    +subgroup
    +
    +
    +

    1.6 Managing Packages

    Packages are collections of additional functions that can be loaded on demand. They commonly include example data that can be used to demonstrate those functions. Although R comes with many common statistical functions and models, most of our work requires additional packages.

    -
    -

    1.7.1 Installing Packages

    +
    +

    1.6.1 Installing Packages

    To use a package, you must first install it and then load it. These steps can be done at the command line or using the Packages Tab. Examples of both approaches are provided below. R packages only need to be installed once (until R is upgraded or re-installed). Every time you start a new R session, however, you need to load every package that you intend to use in that session.

    Within the Packages tab you will see a list of all the packages currently installed on your computer, and 2 buttons labeled either “Install” or “Update”. To install a new package simply select the Install button. You can enter install one or more than one packages at a time by simply separating them with a comma.

    To find out what packages are installed on your computer, use the following commands:

    -
    library() 
    -
    -# or
    -
    -installed.packages()
    +
    library() 
    +
    +# or
    +
    +installed.packages()

    One useful package for soil scientists is the soiltexture package. It allows you to plot soil textural triangles. The following command shows how to install this package if you do not currently have it downloaded:

    -
    # CRAN (static version)
    -install.packages(c("soiltexture"))
    -
    -# GitHub (development version)
    -remotes::install_github("julienmoeys/soiltexture/pkg/soiltexture", dependencies = FALSE, upgrade = FALSE, build = FALSE)
    -
    -
    -

    1.7.2 Loading Packages

    -

    Once a package is installed, it must be loaded into the R session to be used. -This can be done by using library(). The package name does not need to be quoted.

    -
    library(soilDB)
    +
    # CRAN (static version)
    +install.packages(c("soiltexture"))
    +
    +# GitHub (development version)
    +remotes::install_github("julienmoeys/soiltexture/pkg/soiltexture", dependencies = FALSE, upgrade = FALSE, build = FALSE)
    +
    +
    +

    1.6.2 Loading Packages

    +

    Once a package is installed, it must be loaded into the R session to be used. This can be done by using library(). The package name does not need to be quoted.

    +
    library(soilDB)

    You can also load packages using the Packages Tab, by checking the box next to the package name. For example, documentation for the soilDB package is available from the help() function.

    -
    help(package = "soilDB")
    +
    help(package = "soilDB")
    -
    -

    1.8 Getting Help

    +
    +

    1.7 Getting Help

    R has extensive documentation, numerous mailing lists, and countless books (many of which are free and listed at end of each chapter for this course).

    To learn more about the function you are using and the options and arguments available, learn to help yourself by taking advantage of some of the following help functions in RStudio:

      @@ -850,14 +857,14 @@

      1.8 Getting Help
    1. Type help(read.csv) or ?read.csv in the Console window to bring up a help page. Results will appear in the Help tab in the lower right-hand window. Certain functions may require quotations, such as help("+").
    -
    # Help file for a function
    -help(read.csv) # or ?read.csv
    -
    -# Help files for a package
    -help(package = "soiltexture")
    -
    -
    -

    1.9 Documenting your work

    +
    # Help file for a function
    +help(read.csv) # or ?read.csv
    +
    +# Help files for a package
    +help(package = "soiltexture")
    +
    +
    +

    1.8 Documenting your work

    RStudio’s Source Tabs serve as a built-in text editor. Prior to executing R functions at the Console, commands are typically written down (or scripted). Scripting is essentially showing your work.

    The sequence of functions necessary to complete a task are scripted in order to document or automate a task.

    While scripting may seems cumbersome at first, it ultimately saves time in the long run, particularly for repetitive tasks (humorous YouTube Video on Scripting).

    @@ -868,8 +875,8 @@

    1.9 Documenting your workallows rapid iteration, which saves time and allows the evaluation of incremental changes
  105. reduces the chance of human error
  106. -
    -

    1.9.1 Basic Tips for Scripting

    +
    +

    1.8.1 Basic Tips for Scripting

    To write a script, simply open a new R script file by clicking File>New File>R Script. Within the text editor type out a sequence of functions.

    • Place each function (e.g. read.csv()) on a separate line.
    • @@ -879,43 +886,43 @@

      1.9.1 Basic Tips for Scripting

    -
    -

    1.9.2 Comments

    +
    +

    1.8.2 Comments

    It is a good idea to include comments in your code, so that in the future both yourself and others can understand what you were doing. Each line with a comment starts with #.

    In RStudio, you can use # comments to create an “outline” for your source documents. Multiple # signs increase the depth of the hierarchy. Ending a comment line with four hyphens (----) indicates that text should be included in the outline. The source file outline using comments in regular .R source files is analogous to the Markdown syntax used in R Markdown and Quarto for headers.

    For example, the following code block creates two outline sections, each with a nested subsection.

    To show the outline view, click the “outline” button in the top-right hand corner of the source window. Paste it in a fresh R document to try it out.

    -
    # one ----
    -print("Section 1")
    -
    -## one two ----
    -# this is an ordinary comment (does not show in outline)
    -print("Subsection 1.2")
    -
    -# two ----
    -print("Section 2")
    -
    -## two one ----
    -print("Subsection 2.1)
    -
    -
    -
    -

    1.10 Organizing your work

    +
    # one ----
    +print("Section 1")
    +
    +## one two ----
    +# this is an ordinary comment (does not show in outline)
    +print("Subsection 1.2")
    +
    +# two ----
    +print("Section 2")
    +
    +## two one ----
    +print("Subsection 2.1)
    +
    +
    +
    +

    1.9 Organizing your work

    When you first begin a project you should create a new folder and place within it all the data and code associated with the project. This simplifies the process of accessing your files from R. Using a project folder is also a good habit because it makes it easier to pickup where you left off and find your data if you need to come back to it later. Within R, your project folder is also known as your working directory. This directory will be the default location your plots and other R output are saved.

    You want to have inputs for your code in the working directory so that you can refer to them using relative file paths. Relative file paths make it easier if you move the folder containing your script(s) around. Or, if you share it with someone else, they will have little issue getting your code to work on their own file system.

    -
    -

    1.10.1 Setting the Working Directory

    +
    +

    1.9.1 Setting the Working Directory

    Before you begin working in R, you should set your working directory to your project folder; for example, setwd("C:\\workspace2\\projectx..."). You can use RStudio to manage your projects and folders.

    NOTE: Beware when specifying any file paths that R uses forward slashes / instead of back slashes \. Back slashes are reserved for use as an escape character, so you must use two of them to get one in result character string.

    To change the working directory in RStudio, select main menu Session >> Set Working Directory >> …. Or, from the “Files” tab click More >> Set As Working Directory to use the current location of the “Files” tab as your working directory.

    Setting the working directory can also be done via the Console with the setwd() command:

    -
    setwd("C:/workspace2")
    +
    setwd("C:/workspace2")

    To check the file path of the current working directory (which should now be "C:\\workspace2"), type:

    -
    getwd()
    +
    getwd()
    -
    -

    1.10.2 RStudio Projects (.Rproj files)

    +
    +

    1.9.2 RStudio Projects (.Rproj files)

    You can also manage your working directory using RStudio Projects. An RStudio Project file (.Rproj) is analogous to, for example, a .mxd file for ArcMap. It contains information about the specific settings you may have set for a “project”.

    You open or create projects using the drop down menu in the top right-hand corner of the RStudio window (shown below)

    @@ -942,12 +949,12 @@

    1.10.2 RStudio Projects (.Rproj f ![RStudio Projects - Git Repository and Build Tabs](static-figures/rstudio_projecttabs.png) -->

    -
    -

    1.11 Saving your work

    +
    +

    1.10 Saving your work

    In R, you can save several types of files to keep track of the work you do. The file types include: workspace, script, history, and graphics. It is important to save often because R, like any other software, may crash periodically.

    Such problems are especially likely when working with large files. You can save your workspace in R via the command line or the File menu.

    -
    -

    1.11.0.1 R script (.R)

    +
    +

    1.10.0.1 R script (.R)

    An R script is simply a text file of R commands that you’ve typed.

    You may want to save your scripts (whether they were written in R Editor or another program such as Notepad) so that you can reference them in the future, edit them as needed, and keep track of what you’ve done.

    To save R scripts in RStudio, simply click the save button from your R script tab. Save scripts with the .R extension.

    @@ -956,15 +963,15 @@

    1.11.0.1 R script (.R)

    -
    -

    1.11.0.2 Microsoft Word Files

    +
    +

    1.10.0.2 Microsoft Word Files

    Using Microsoft Word to write or save R scripts is generally a bad idea.

    Certain keyboard characters, such as quotations ““, are not stored the same in Word (e.g. they are”left” and “right” handed). The difference is hard to distinguish, but will not run in R.

    Also, pasting your R code or output into Wword documents manually is not reproducible, so while it may work in a pinch, it ultimately costs you time.

    You can use the word_document Rmarkdown template to automatically “Knit” .docx files from R code using a template, which is very handy for quickly getting a nice looking document!

    -
    -

    1.11.0.3 R Markdown (.Rmd)

    +
    +

    1.10.0.3 R Markdown (.Rmd)

    R Markdown (.Rmd) documents contain information for the reproducible combination of narrative text and code to produce elegantly formatted output. You can use multiple languages in .Rmd documents including R, Python, and SQL. You can easily “knit” visually appealing and high-quality documents into rich HTML, PDF or Word documents from the RStudio interface.

    This document is made in bookdown, a variant of rmarkdown used for book templates involving multiple chapters. You can make blogs and websites for your R packages with blogdown and pkgdown. These are all tools based off of the powerful “pandoc” engine and the tools in the R Markdown ecosystem.

    -
    -

    1.11.0.4 R history (.Rhistory)

    +
    +

    1.10.0.4 R history (.Rhistory)

    An R history file is a copy of all your key strokes. You can think of it as brute force way of saving your work. It can be useful if you didn’t document all your steps in an R script file.

    Like an R file, an Rhistory file is simply a text file that lists all of the commands that you’ve executed. It does not keep a record of the results.

    To load or save your R history from the History Tab click the Open File or Save button. If you load an Rhistory file, your previous commands will again become available with the up-arrow and down-arrow keys.

    You can also use the command line to load or save your history.

    -
    savehistory(file = "sand.Rhistory")  
    -loadhistory(file = "sand.Rhistory")  
    -history(max.show=Inf) #displays all previous commands
    +
    savehistory(file = "sand.Rhistory")  
    +loadhistory(file = "sand.Rhistory")  
    +history(max.show=Inf) #displays all previous commands
    -
    -

    1.11.0.5 R Graphics

    +
    +

    1.10.0.5 R Graphics

    Graphic outputs can be saved in various formats.

    @@ -1040,14 +1047,14 @@

    1.11.0.5 R Graphics

    The R command for saving a graphic is:

    -
    png(file = "npk_yield.png")
    -plot(npk$yield)
    -dev.off()
    +
    png(file = "npk_yield.png")
    +plot(npk$yield)
    +dev.off()

    The first line of this command creates a blank file named sand with a JPEG extension. The second line plots the data object that you want to create a graphic of (here it is conveniently the same name as the JPEG file we are creating). The third line closes the graphics device.

    -
    -

    1.12 Exercise 1

    +
    +

    1.11 Exercise 1

    Using the examples discussed thus far as a guide, demonstrate your mastery of the material by performing the following tasks.

    1. Create an R script file, demonstrate 3 basic R functions, and comment (#) your code.
    2. @@ -1056,54 +1063,54 @@

      1.12 Exercise 1 -

      1.13 Loading Data

      +
      +

      1.12 Loading Data

      R can load a variety of data formats, however tabular data is by far the most common, and what we will spend of the majority of our time working with. Typically tabular data is stored in spreadsheets (e.g. .txt, .csv, .xlsx), databases (e.g. NASIS), or webpages (.html). Within R tabular data is stored as a data.frame.

      -
      -

      1.13.0.1 Text files

      +
      +

      1.12.0.1 Text files

      Text files are a preferable format for storing and transferring small datasets. One basic command for importing text files into R is read.csv(). The command is followed by the file name or URL and then some optional instructions for how to read the file.

      These files can either be imported into R by clicking the Import Dataset >> From Text buttons from the Environment tab, or by typing the following command into the R console:

      -
      # from working directory
      -sand <- read.csv("C:/workspace2/sand_example.csv")
      -
      # from URL
      -sand <- read.csv("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/data/sand_example.csv") 
      +
      # from working directory
      +sand <- read.csv("C:/workspace2/sand_example.csv")
      +
      # from URL
      +sand <- read.csv("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/data/sand_example.csv") 

      -
      -

      1.13.0.2 Excel files

      +
      +

      1.12.0.2 Excel files

      R can import Excel files, but generally speaking it is a bad idea to use Excel. Excel has a dangerous default which automatically converts data with common notations to their standard format without warning or notice. For example, the character “11-JUN” entered into a cell automatically becomes the date 6/11/2021, even though the data is still displayed as 11-JUN. The only way to avoid this default behavior is to manually import your data into Excel via the Data Tab>Get External Data Ribbon, and manually set the data type of all your columns to text. Failure to do so has resulted in numerous retracted research articles (Washington Post Article). Warnings aside, Excel files are a very common and are a format most people are familiar with. Therefore we will illustrate how to bring them into R.

      -

      Download the sand Excel dataset from GitHub at https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/Pre-course/R_sand/sand_example.xlsx

      +

      Download the sand Excel dataset from GitHub at https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/Pre-course/R_sand/sand_example.xlsx

      Excel datasets can either be imported into R by clicking the Import Dataset >> From Excel buttons from the Environment tab, or by typing the following command into the R console:

      -
      library(readxl)
      -
      -sand_example <- read_excel("sand_example.xlsx")
      +
      library(readxl)
      +
      +sand_example <- read_excel("sand_example.xlsx")

      -
      -

      1.13.0.3 NASIS (Web) Reports

      +
      +

      1.12.0.3 NASIS (Web) Reports

      NASIS provides a plethora of reports, many of which can be read into R for analysis. The soilDB R package provides a series of functions to read data from NASIS either using a local database connection or via HTML web reports. Similar functions also exist for accessing tabular data from Soil Data Access. More details on soilDB will be provided in the next chapter, but now we’ll illustrate how to access some example datasets for manipulating tabular data.

      -
      library(soilDB)
      -
      -# get projects
      -prj <- get_project_from_NASISWebReport(mlrassoarea = "11-IND", fiscalyear = 2020)
      -
      -# get legends
      -leg <- get_legend_from_NASISWebReport(mlraoffice = "Indi%", areasymbol = "%")
      -
      -# get map units
      -mu  <- get_mapunit_from_NASISWebReport(areasymbol = c("IN001", "IN11%"))
      -
      -
      -
      -

      1.14 Data manipulation

      +
      library(soilDB)
      +
      +# get projects
      +prj <- get_project_from_NASISWebReport(mlrassoarea = "11-IND", fiscalyear = 2020)
      +
      +# get legends
      +leg <- get_legend_from_NASISWebReport(mlraoffice = "Indi%", areasymbol = "%")
      +
      +# get map units
      +mu  <- get_mapunit_from_NASISWebReport(areasymbol = c("IN001", "IN11%"))
      +
      +
      +
      +

      1.13 Data manipulation

      Before we can do any sort of analysis, analysis, our data often needs to be manipulated one way or another. Estimates vary, but an analyst typically spend 80% of their time manipulating data, and only 20% actually analyzing or modeling. Tasks generally involve filtering, transforming, merging, aggregating, and reshaping data.

      R has many functions and packages for manipulating data frames, but within the past several years a family of packages, known as the tidyverse, have been developed to simplify interacting with data frames (or tibbles). Within the tidyverse the most commonly used packages are dplyr and tidyr. Many of the tidyverse function names are patterned after SQL syntax.

      We will review the most common functions you need to know in order to accomplish the majority of data manipulation tasks.

      -
      -

      1.14.1 Viewing and Removing Data

      +
      +

      1.13.1 Viewing and Removing Data

      Once a file is imported, it is imperative that you check to ensure that R correctly imported your data. Make sure numerical data are correctly imported as numerical, that your column headings are preserved, etc. To view the data simply click on the mu dataset listed in the Environment tab. This will open up a separate window that displays a spreadsheet like view.

      Additionally you can use the following functions to view your data in R.

      @@ -1138,39 +1145,38 @@

      1.14.1 Viewing and Removing Data<

    Try entering the following commands to view the mu dataset in R:

    -
    str(mu)
    -
    -names(mu)
    -
    -head(mu)
    -
    -ls()
    +
    str(mu)
    +
    +names(mu)
    +
    +head(mu)
    +
    +ls()

    A data object is anything you’ve created or imported and assigned a name to in R. The Environment tab allows you to see what data objects are in your R session and expand their structure. Right now sand should be the only data object listed. If you wanted to delete all data objects from your R session, you could click the broom icon from the Environments tab. Otherwise you could type:

    -
    # Remove all R objects
    -rm(list = ls(all = TRUE)) 
    -
    -# Remove individual objects
    -rm(mu, leg, sand)
    +
    # Remove all R objects
    +rm(list = ls(all = TRUE)) 
    +
    +# Remove individual objects
    +rm(mu, leg, sand)

    -
    -

    1.14.2 Filtering or Subsetting Data

    +
    +

    1.13.2 Filtering or Subsetting Data

    When analyzing data in NASIS, filtering is typically accomplished by loading your selected set with only the records you’re interested in. However, it is often useful or necessary to subset your data after it’s loaded. This can allow you to isolate interesting records within large datasets. For these reasons R has numerous options/functions for filtering data.

    Data frames can be filtered by both columns and rows, using either names, position (e.g. column 1, row 5), or logical indices (e.g. TRUE/FALSE). Another particularly useful feature is the use of pattern matching which uses regular expressions to select data, which is similar to the LIKE statement from SQL.

    **Filtering with names and numerical indices

    -
    # Filtering with names
    -mu$areasymbol                             # select column names using $
    -mu[, c("areasymbol", "musym")]            # select column names using []
    -mu[c("1", "2"), ]                         # select row names using []
    -mu[c("1", "2"), c("areasymbol", "musym")] # select column and row names using []
    -
    -
    -# Filtering by position
    -mu[1, ]          # select first row
    -mu[, 1]          # select first column
    -mu[2, 2]         # select second row and second column
    -mu[c(1, 2, 3), ] # select multiple rows
    -mu[c(-1, -2), ]  # drop multiple rows
    +
    # Filtering with names
    +mu$areasymbol                             # select column names using $
    +mu[, c("areasymbol", "musym")]            # select column names using []
    +mu[c("1", "2"), ]                         # select row names using []
    +mu[c("1", "2"), c("areasymbol", "musym")] # select column and row names using []
    +
    +# Filtering by position
    +mu[1, ]          # select first row
    +mu[, 1]          # select first column
    +mu[2, 2]         # select second row and second column
    +mu[c(1, 2, 3), ] # select multiple rows
    +mu[c(-1, -2), ]  # drop multiple rows

    Logical Operators

    • == R uses a double equal sign as “equal-to” in SQL

    • @@ -1182,138 +1188,138 @@

      1.14.2 Filtering or Subsetting Da
    • grepl() equivalent to LIKE in SQL (e.g. grepl("IN%", mu$areasymbol))

    Filtering with logicals

    -
    # Standard evaluation with base R []
    -
    -# Filtering with logicals
    -mu[mu$areasymbol == "IN001", ]                # select rows that equal IN001
    -mu[mu$areasymbol != "IN001", ]                # select rows that do not equal IN001
    -mu[, names(mu) == "areasymbol"]               # select columns that equal areasymbol
    -mu[, names(mu) %in% c("areasymbol", "musym")] # select columns that match areasymbol and musym 
    -mu[grepl("Miami", mu$muname), ]               # select rows that contain Miami
    -
    -
    -# Non-standard evaluation with tidyverse
    -
    -library(dplyr)
    -
    -# Filtering rows
    -filter(mu, areasymbol == "IN001")
    -filter(mu, areasymbol != "IN001")
    -filter(mu, areasymbol %in% c("IN001", "IN111"))
    -filter(mu, grepl("Miami", muname))
    -filter(mu, muacres > 0)
    -
    -# Select columns
    -select(mu, areasymbol, musym)
    -
    -# Slice  rows
    -slice(mu, 1:5)
    -
    -
    -

    1.14.3 Transforming Data

    +
    # Standard evaluation with base R []
    +
    +# Filtering with logicals
    +mu[mu$areasymbol == "IN001", ]                # select rows that equal IN001
    +mu[mu$areasymbol != "IN001", ]                # select rows that do not equal IN001
    +mu[, names(mu) == "areasymbol"]               # select columns that equal areasymbol
    +mu[, names(mu) %in% c("areasymbol", "musym")] # select columns that match areasymbol and musym 
    +mu[grepl("Miami", mu$muname), ]               # select rows that contain Miami
    +
    +# Non-standard evaluation with tidyverse
    +
    +library(dplyr)
    +
    +# Filtering rows
    +filter(mu, areasymbol == "IN001")
    +filter(mu, areasymbol != "IN001")
    +filter(mu, areasymbol %in% c("IN001", "IN111"))
    +filter(mu, grepl("Miami", muname))
    +filter(mu, muacres > 0)
    +
    +# Select columns
    +select(mu, areasymbol, musym)
    +
    +# Slice  rows
    +slice(mu, 1:5)
    +
    +
    +

    1.13.3 Transforming Data

    This allows you to create new columns by convert, compute, or combine data within existing columns.

    -
    mu <- mutate(mu, 
    -             # convert to hectares
    -             muhectares = muacres * 0.4047,
    -             # convert muname to TRUE or FALSE if Miami is present using pattern matching
    -             miami      = grepl("Miami", muname),
    -             # compute % minor component
    -             n_minor    = n_component - n_majcompflag,
    -             # combine columns
    -             key        = paste(areasymbol, musym)
    -             )
    -
    -
    -

    1.14.4 Sorting Data

    +
    mu <- mutate(
    +  mu,
    +  # convert to hectares
    +  muhectares = muacres * 0.4047,
    +  # convert muname to TRUE or FALSE if Miami is present using pattern matching
    +  miami      = grepl("Miami", muname),
    +  # compute % minor component
    +  n_minor    = n_component - n_majcompflag,
    +  # combine columns
    +  key        = paste(areasymbol, musym)
    +)
    +
    +
    +

    1.13.4 Sorting Data

    Sorting allows you to rearrange your data. Beware R has several similar functions (e.g. sort and order) for sorting data only work with specific datatypes. The tidyverse function arrange is designed to work with data frames.

    -
    # sort ascending
    -arrange(mu, areasymbol, muname)
    -
    -# sort descending
    -arrange(mu, desc(areasymbol), desc(muname))
    -
    -
    -

    1.14.5 Piping Data

    +
    # sort ascending
    +arrange(mu, areasymbol, muname)
    +
    +# sort descending
    +arrange(mu, desc(areasymbol), desc(muname))
    +
    +
    +

    1.13.5 Piping Data

    Another particularly useful feature provided by the magrittr package and used in the tidyverse is the use of pipe (%>%). Base R also has a native pipe operator (|>). Using the RStudio keyboard shortcut Ctrl + Shift + M inserts the pipe you have selected as default in Global Options > Code.

    f(x,y) becomes x %>% f(y)

    The “pipe” is something that occurs in many programming languages and computing contexts. It allows output from one expression to be passed as input to the first argument of the next function. This allows sequences of commands to be read from right to left b(or top to bottom) rather than from the inside out.

    -
    # non-piping example 1
    -mu_sub <- filter(mu, areasymbol == "IN001")
    -mu_sub <- mutate(mu_sub, pct_100less = pct_component < 100) 
    -
    -# non-piping example 2
    -mu_sub <- mutate(filter(mu, areasymbol == "IN001"), pct_100less = pct_component < 100)
    -
    -# piping
    -mu_sub <- mu %>% 
    -  filter(areasymbol == "IN001") %>% 
    -  mutate(pct_100less = pct_component < 100)
    -
    -
    -

    1.14.6 Merging/Joining or Combining Data

    -

    ** Joining**

    +
    # non-piping example 1
    +mu_sub <- filter(mu, areasymbol == "IN001")
    +mu_sub <- mutate(mu_sub, pct_100less = pct_component < 100) 
    +
    +# non-piping example 2
    +mu_sub <- mutate(filter(mu, areasymbol == "IN001"), pct_100less = pct_component < 100)
    +
    +# piping
    +mu_sub <- mu %>% 
    +  filter(areasymbol == "IN001") %>% 
    +  mutate(pct_100less = pct_component < 100)
    +
    +
    +

    1.13.6 Merging/Joining or Combining Data

    +

    Joining

    When working with tabular data you often have 2 or more tables you need to join. There are several ways to join tables. Which direction to join and which columns to join will determine how you achieve the join.

    -
    # inner join
    -leg_mu <- inner_join(leg, mu, by = c("liid", "areasymbol"))
    -
    -# left join
    -leg_mu <- left_join(leg, mu, by = c("liid"))
    -
    -# right_join
    -leg_mu <- right_join(leg, mu, by = "liid")
    -

    ** Combining**

    +
    # inner join
    +leg_mu <- inner_join(leg, mu, by = c("liid", "areasymbol"))
    +
    +# left join
    +leg_mu <- left_join(leg, mu, by = c("liid"))
    +
    +# right_join
    +leg_mu <- right_join(leg, mu, by = "liid")
    +

    Combining

    If your tables have the same structure (e.g. columns), or length and order you may simply combine them. For example, if you have two different mapunit tables.

    -
    # combine rows
    -rbind(mu, mu)
    -rbind(mu, leg) # won't work
    -
    -
    -# combine columns
    -cbind(mu, mu)  # beware combine tables with duplicate column names
    -cbind(mu, areasymbol_2 = mu$areasymbol)
    -cbind(mu, leg) # won't work
    -
    -
    -

    1.14.7 Aggregating or Grouping Data

    +
    # combine rows
    +rbind(mu, mu)
    +rbind(mu, leg) # won't work
    +
    +
    +# combine columns
    +cbind(mu, mu)  # beware combine tables with duplicate column names
    +cbind(mu, areasymbol_2 = mu$areasymbol)
    +cbind(mu, leg) # won't work
    +
    +
    +

    1.13.7 Aggregating or Grouping Data

    Because soil data has multiple dimensions (e.g. properties and depths) and levels of organization (e.g. many to one relationships), it is often necessary to aggregate it. For example, when we wish to make a map we often need to aggregate over components and then map units. Depending on the data type this aggregation may involve taking a weighted average or selecting the dominant condition.

    The group_by function defines the groups over which we wish to summarize the data.

    -
    mu_agg <- mu %>% 
    -  group_by(grpname, areasymbol) %>%
    -  summarize(sum_muacres = sum(muacres),
    -            n_musym     = length(musym)
    -            )
    -
    -
    -

    1.14.8 Reshaping Data

    +
    mu_agg <- mu %>% 
    +  group_by(grpname, areasymbol) %>%
    +  summarize(sum_muacres = sum(muacres),
    +            n_musym     = length(musym)
    +            )
    +
    +
    +

    1.13.8 Reshaping Data

    Typically data is stored in what is known as a wide format, where each column contains a different variable (e.g. depth, clay, sand, rocks). However, sometimes it is necessary to reshape or pivot to a long format, where each variable/column is compressed into 2 new rows. One new column contains the old column names, while another new column contains the values from the old columns. This is particularly useful when combining multiple variables into a single plot.

    -
    library(tidyr)
    -
    -# Simplify mu example dataset
    -mu2 <- mu %>%
    -  select(grpname, areasymbol, musym, muacres, n_component, pct_hydric) %>%
    -  slice(1:5)
    -print(mu2)
    -
    -# Pivot long
    -mu2_long <- pivot_longer(mu2, cols = c(muacres, n_component, pct_hydric))
    -print(mu2_long)
    -
    -# Pivot wide
    -mu2_wide <- pivot_wider(mu2_long, names_from = name)
    -print(mu2_wide)
    -
    -
    -

    1.14.9 Exporting Data

    +
    library(tidyr)
    +
    +# Simplify mu example dataset
    +mu2 <- mu %>%
    +  select(grpname, areasymbol, musym, muacres, n_component, pct_hydric) %>%
    +  slice(1:5)
    +print(mu2)
    +
    +# Pivot long
    +mu2_long <- pivot_longer(mu2, cols = c(muacres, n_component, pct_hydric))
    +print(mu2_long)
    +
    +# Pivot wide
    +mu2_wide <- pivot_wider(mu2_long, names_from = name)
    +print(mu2_wide)
    +
    +
    +

    1.13.9 Exporting Data

    To export data from R, use the command write.csv() or write.dbf() functions. Since we have already set our working directory, R automatically saves our file into the working directory.

    -
    write.csv(mu_agg, file = "mu_agg.csv")
    -
    -library(foreign)
    -
    -write.dbf(as.data.frame(mu_agg), file = "mu_agg.dbf")
    +
    write.csv(mu_agg, file = "mu_agg.csv")
    +
    +library(foreign)
    +
    +write.dbf(as.data.frame(mu_agg), file = "mu_agg.dbf")
    -
    -

    1.15 Exercise 2

    +
    +

    1.14 Exercise 2

    1. Create a new R script file.

    2. To get information from the NASIS legend table for the state of Wisconsin use the soilDB function get_legend_from_NASISWebReport() for mlraoffice = "%" and areasymbol = "WI%"

    3. @@ -1332,8 +1338,8 @@

      1.15 Exercise 2 -

      1.16 Review

      +
      +

      1.15 Review

      Given what you now know about R, try to answer the following questions:

      1. Can you think of a situation where an existing hypothesis or conventional wisdom was not repeatable?

      2. @@ -1344,8 +1350,8 @@

        1.16 Review -

        1.17 Additional Reading (Introduction)

        +
        +

        1.16 Additional Reading (Introduction)

        diff --git a/book/reference-keys.txt b/book/reference-keys.txt index 81e0d027..2475c09c 100644 --- a/book/reference-keys.txt +++ b/book/reference-keys.txt @@ -1,4 +1,4 @@ -tab:unnamed-chunk-90 +tab:unnamed-chunk-89 tab:graphical-descriptions tab:graphical-functions create-workspace @@ -31,7 +31,6 @@ draw-soil-profiles draw-depth-plots estimate-the-range-in-characteristics-ric rstudio-an-integrated-development-environment-ide-for-r -rcmdr-r-commander-a-graphical-user-interface-for-r r-basics managing-packages installing-packages @@ -96,6 +95,7 @@ further-reading-reference working-with-data-in-r summaries table-and-cross-tabulation +the-dplyr-package-and-tidy-data-principles missing-values logical-operators pattern-matching @@ -182,8 +182,8 @@ making-maps-with-r spatial-data-sources viewing-pedon-locations plotting-geographic-data -exercise-1-spatial-intro -many-packages-many-spatial-representations +exercise-1-pedon-locations +packages-for-vector-data the-sf-package sf-vignettes the-sp-package @@ -193,15 +193,18 @@ sf sp interactive-mapping-with-mapview-and-leaflet exercise-2-map-your-favorite-soil-series-extents +packages-for-raster-data the-terra-package +terra-example other-approaches-to-raster-data raster stars related-links converting-vector-to-raster terrarasterize -rasterrasterize fasterizefasterize +converting-raster-to-vector +terraas.polygons coordinate-reference-systems-crs assigning-and-transforming-coordinate-systems sf-1 @@ -210,16 +213,16 @@ terra-and-raster load-required-packages download-example-data load-example-mlra-data +vector-data +sf-2 +terra +sp-2 raster-data object-properties rasters-in-memory-v.s.-file-based writing-rasters-to-file data-types notes-on-compression -vector-data -sf-2 -terra -sp-2 spatial-operations working-with-vector-and-raster-data exercise-3-extracting-raster-data diff --git a/book/references.html b/book/references.html index c20d5467..aa5ee67a 100644 --- a/book/references.html +++ b/book/references.html @@ -23,7 +23,7 @@ - + @@ -218,42 +218,41 @@
      3. 1.3.3 Packages
      4. 1.4 RStudio: An Integrated Development Environment (IDE) for R
      5. -
      6. 1.5 Rcmdr (R Commander): A Graphical User Interface for R
      7. -
      8. 1.6 R basics
      9. -
      10. 1.7 Managing Packages +
      11. 1.5 R basics
      12. +
      13. 1.6 Managing Packages
      14. -
      15. 1.8 Getting Help
      16. -
      17. 1.9 Documenting your work +
      18. 1.7 Getting Help
      19. +
      20. 1.8 Documenting your work
      21. -
      22. 1.10 Organizing your work +
      23. 1.9 Organizing your work
      24. -
      25. 1.11 Saving your work
      26. -
      27. 1.12 Exercise 1
      28. -
      29. 1.13 Loading Data
      30. -
      31. 1.14 Data manipulation +
      32. 1.10 Saving your work
      33. +
      34. 1.11 Exercise 1
      35. +
      36. 1.12 Loading Data
      37. +
      38. 1.13 Data manipulation
      39. -
      40. 1.15 Exercise 2
      41. -
      42. 1.16 Review
      43. -
      44. 1.17 Additional Reading (Introduction)
      45. +
      46. 1.14 Exercise 2
      47. +
      48. 1.15 Review
      49. +
      50. 1.16 Additional Reading (Introduction)
      51. 2 The Data We Use
      52. 5 Sampling
      53. 1.4 RStudio: An Integrated Development Environment (IDE) for R
      54. -
      55. 1.5 Rcmdr (R Commander): A Graphical User Interface for R
      56. -
      57. 1.6 R basics
      58. -
      59. 1.7 Managing Packages +
      60. 1.5 R basics
      61. +
      62. 1.6 Managing Packages
      63. -
      64. 1.8 Getting Help
      65. -
      66. 1.9 Documenting your work +
      67. 1.7 Getting Help
      68. +
      69. 1.8 Documenting your work
      70. -
      71. 1.10 Organizing your work +
      72. 1.9 Organizing your work
      73. -
      74. 1.11 Saving your work
      75. -
      76. 1.12 Exercise 1
      77. -
      78. 1.13 Loading Data
      79. -
      80. 1.14 Data manipulation +
      81. 1.10 Saving your work
      82. +
      83. 1.11 Exercise 1
      84. +
      85. 1.12 Loading Data
      86. +
      87. 1.13 Data manipulation
      88. -
      89. 1.15 Exercise 2
      90. -
      91. 1.16 Review
      92. -
      93. 1.17 Additional Reading (Introduction)
      94. +
      95. 1.14 Exercise 2
      96. +
      97. 1.15 Review
      98. +
      99. 1.16 Additional Reading (Introduction)
      100. 2 The Data We Use
      101. 5 Sampling
          @@ -475,18 +483,18 @@

          5.1 Introduction

          5.1.1 DSM classes

          A variation of the 2nd method is described by Congalton and Green (2019) for use with categorical data, which is applicable to digital soil mapping.

          -
          nMultinomial <- function(k = NULL, p = 0.5, error = 0.1, alpha = 0.05) {
          -  # k     = number of classes
          -  # p     = proportion of the largest class
          -  # error = margin of error
          -  # alpha = confidence level probability
          -  ceiling(qchisq(1 - alpha / k, 1) * p * (1 - p) / error^2)
          -}
          -nMultinomial(k = c(10, 20, 30))
          +
          nMultinomial <- function(k = NULL, p = 0.5, error = 0.1, alpha = 0.05) {
          +  # k     = number of classes
          +  # p     = proportion of the largest class
          +  # error = margin of error
          +  # alpha = confidence level probability
          +  ceiling(qchisq(1 - alpha / k, 1) * p * (1 - p) / error^2)
          +}
          +nMultinomial(k = c(10, 20, 30))
          ## [1] 197 229 248
          -
          nMultinomial(k = 10, error = c(0.05, 0.1, 0.2))
          +
          nMultinomial(k = 10, error = c(0.05, 0.1, 0.2))
          ## [1] 788 197  50
          -
          nMultinomial(k = 10, alpha = c(0.05, 0.1, 0.2))
          +
          nMultinomial(k = 10, alpha = c(0.05, 0.1, 0.2))
          ## [1] 197 166 136
          @@ -526,31 +534,31 @@

          5.1.2 Rules of thumb

          5.1.3 NSSH 627.8

          Documentation requirement for the following data elements are specified in the section 627.8 of the National Soil Survey Handbook (NSSH).

          -
          # NSSH 627.8 Documentation
          -
          -# soil series
          -data.frame(
          -  level = "soil series", 
          -  n     = c(5, 10),
          -  acres = c(2000, 20000)
          -  )
          +
          # NSSH 627.8 Documentation
          +
          +# soil series
          +data.frame(
          +  level = "soil series", 
          +  n     = c(5, 10),
          +  acres = c(2000, 20000)
          +  )
          ##         level  n acres
           ## 1 soil series  5  2000
           ## 2 soil series 10 20000
          -
          # components
          -data.frame(
          -  level = "components",
          -  n     = 1,
          -  acres = 3000
          -  )
          +
          # components
          +data.frame(
          +  level = "components",
          +  n     = 1,
          +  acres = 3000
          +  )
          ##        level n acres
           ## 1 components 1  3000
          -
          # map units
          -data.frame(
          -  level = "map unit",
          -  n     = cumsum(c(30, rep(10, 3))),
          -  acres = c(2000, seq(from = 4000, by = 4000, length.out = 3))
          -  )
          +
          # map units
          +data.frame(
          +  level = "map unit",
          +  n     = cumsum(c(30, rep(10, 3))),
          +  acres = c(2000, seq(from = 4000, by = 4000, length.out = 3))
          +  )
          ##      level  n acres
           ## 1 map unit 30  2000
           ## 2 map unit 40  4000
          @@ -560,16 +568,16 @@ 

          5.1.3 NSSH 627.8

          5.2 Sampling Strategies

          -
          library(sf)
          -library(ggplot2)
          -
          -# set the seed for the random number generator
          -set.seed(4)
          -
          -# Create a sixteen square polygon
          -bb <- st_make_grid(st_bbox(c(xmin = 0, xmax = 6, ymin = 0, ymax = 6)), n = 6)
          -grd <- st_as_sf(bb)
          -grd$ID <- 1:length(bb)
          +
          library(sf)
          +library(ggplot2)
          +
          +# set the seed for the random number generator
          +set.seed(4)
          +
          +# Create a sixteen square polygon
          +bb <- st_make_grid(st_bbox(c(xmin = 0, xmax = 6, ymin = 0, ymax = 6)), n = 6)
          +grd <- st_as_sf(bb)
          +grd$ID <- 1:length(bb)

          5.2.1 Simple Random

          In simple random sampling, all samples within the region have an equal chance of being selected. A simple random selection of points can be made using either the st_sample() function within the sf R package or the Create Random Points tool in ArcGIS.

          @@ -588,13 +596,13 @@

          5.2.1 Simple Random
          # Generate simple random sample
          -test <- st_sample(grd, size = 16, type = "random")
          -
          -ggplot() + 
          -  geom_sf(data = grd) + 
          -  geom_sf(data = test) + 
          -  ggtitle("Simple")

          +
          # Generate simple random sample
          +test <- st_sample(grd, size = 16, type = "random")
          +
          +ggplot() + 
          +  geom_sf(data = grd) + 
          +  geom_sf(data = test) + 
          +  ggtitle("Simple")

      102. @@ -615,13 +623,13 @@

        5.2.2 Systematic
        # Generate systematic random sample
        -test <- st_sample(grd, size = 16, type = "regular")
        -
        -ggplot() + 
        -  geom_sf(data = grd) + 
        -  geom_sf(data = test) + 
        -  ggtitle("Systematic")

        +
        # Generate systematic random sample
        +test <- st_sample(grd, size = 16, type = "regular")
        +
        +ggplot() + 
        +  geom_sf(data = grd) + 
        +  geom_sf(data = test) + 
        +  ggtitle("Systematic")

      @@ -640,15 +648,15 @@

      5.2.3 Stratified Random
      grd2 <- st_cast(grd, "MULTIPOLYGON")
      -st_crs(grd2) <- 5070
      -
      -test <- st_sample(grd2, size = 16, type = "random", by_polygon = TRUE)
      -
      -ggplot() + 
      -  geom_sf(data = grd2) + 
      -  geom_sf(data = test) + 
      -  ggtitle("Stratified")

      +
      grd2 <- st_cast(grd, "MULTIPOLYGON")
      +st_crs(grd2) <- 5070
      +
      +test <- st_sample(grd2, size = 16, type = "random", by_polygon = TRUE)
      +
      +ggplot() + 
      +  geom_sf(data = grd2) + 
      +  geom_sf(data = test) + 
      +  ggtitle("Stratified")

      Note that the spsample() function only stratifies the points spatially. Other more sophisticated designs can be implemented using the spsurvey, sharpshootR, or clhs packages.

    @@ -669,33 +677,33 @@

    5.2.4 Multistage Stratified Rando
  107. If sampling is uneven, weights need to be known
  108. May need to construct the strata manually
  109. -
    # Select 8 samples from each square
    -idx <- sample(1:nrow(grd), size = 2, replace = FALSE)
    -grd_sub <- grd[idx, ]
    -test <- sapply(1:2, function(i) {
    -  st_coordinates(st_sample(grd_sub[i, ], size = 8, type = "random"))
    -})
    -test <- st_as_sf(as.data.frame(test), coords = 1:2)
    -
    -ggplot() + 
    -  geom_sf(data = grd) + 
    -  geom_sf(data = test) + 
    -  ggtitle("Two-stage")
    +
    # Select 8 samples from each square
    +idx <- sample(1:nrow(grd), size = 2, replace = FALSE)
    +grd_sub <- grd[idx, ]
    +test <- sapply(1:2, function(i) {
    +  st_coordinates(st_sample(grd_sub[i, ], size = 8, type = "random"))
    +})
    +test <- st_as_sf(as.data.frame(test), coords = 1:2)
    +
    +ggplot() + 
    +  geom_sf(data = grd) + 
    +  geom_sf(data = test) + 
    +  ggtitle("Two-stage")

    5.2.5 Spatial Coverage Sampling (e.g. k-means clustering)

    -
    # spcosa ----
    -library(spcosa)
    -
    -grd2 <- st_crs(grd, NA)
    -grd_sp <- as(grd, "Spatial")
    -
    -strata <- stratify(grd_sp, nStrata = 16) 
    -
    -pts    <- spsample(strata)
    -plot(strata, pts) + 
    -  ggtitle("Spatial Coverage")
    +
    # spcosa ----
    +library(spcosa)
    +
    +grd2 <- st_crs(grd, NA)
    +grd_sp <- as(grd, "Spatial")
    +
    +strata <- stratify(grd_sp, nStrata = 16) 
    +
    +pts    <- spsample(strata)
    +plot(strata, pts) + 
    +  ggtitle("Spatial Coverage")

    @@ -728,39 +736,39 @@

    5.2.6 Covariate space coverage sa
  110. Not ideal for map validation (non – probability sample)
  111. Inefficient with large GIS layers
  112. -
    library(sf)
    -library(terra)
    -source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R")
    -
    -# import volcano DEM, details at http://geomorphometry.org/content/volcano-maungawhau
    -data("volcano")
    -volcano_r <- rast(
    -  volcano[87:1, 61:1],
    -  crs = crs("+init=epsg:27200"),
    -  extent = c(
    -    xmin = 2667405,
    -    xmax = 2667405 + 61 * 10,
    -    ymin = 6478705,
    -    ymax = 6478705 + 87 * 10
    -  )
    -)
    -names(volcano_r) <- "elev"
    -
    -# calculate slope from the DEM
    -slope_r <- terrain(volcano_r, v = "slope", unit = "degrees")
    -
    -# Stack Elevation and Slope
    -rs  <- c(volcano_r, slope_r)
    -
    -# Covariate Space Coverage Sampling
    -source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R")
    -fs <- cscs(rs, vars = c("elev", "slope"), n = 20)
    -
    -fs_sf <- st_as_sf(fs, coords = c("x", "y"), crs = crs(rs))
    -
    -# Plot CSCS Samples
    -plot(volcano_r, axes=FALSE)
    -points(fs_sf)
    +
    library(sf)
    +library(terra)
    +source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R")
    +
    +# import volcano DEM, details at http://geomorphometry.org/content/volcano-maungawhau
    +data("volcano")
    +volcano_r <- rast(
    +  volcano[87:1, 61:1],
    +  crs = crs("+init=epsg:27200"),
    +  extent = c(
    +    xmin = 2667405,
    +    xmax = 2667405 + 61 * 10,
    +    ymin = 6478705,
    +    ymax = 6478705 + 87 * 10
    +  )
    +)
    +names(volcano_r) <- "elev"
    +
    +# calculate slope from the DEM
    +slope_r <- terrain(volcano_r, v = "slope", unit = "degrees")
    +
    +# Stack Elevation and Slope
    +rs  <- c(volcano_r, slope_r)
    +
    +# Covariate Space Coverage Sampling
    +source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R")
    +fs <- cscs(rs, vars = c("elev", "slope"), n = 20)
    +
    +fs_sf <- st_as_sf(fs, coords = c("x", "y"), crs = crs(rs))
    +
    +# Plot CSCS Samples
    +plot(volcano_r, axes=FALSE)
    +points(fs_sf)

    @@ -792,20 +800,20 @@

    5.2.7 Conditioned Latin Hypercube

    The cLHS procedure iteratively selects samples from the strata variables such that they replicate the range of values from each stratum. Without a technique such as cLHS, obtaining a sample that is representative of the feature space becomes increasingly difficult as the number of variables (strata) increases.

    To perform cLHS using R, you can use the clhs package (Roudier 2011).

    -
    rs2 <- raster::stack(rs)
    -
    -library(clhs)
    -
    -# generate cLHS design
    -cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE)
    -
    -# Plot cLHS Samples
    -par(mar=c(1,1,1,4))
    -plot(volcano_r, axes=FALSE)
    -points(cs$sampled_data)
    +
    rs2 <- raster::stack(rs)
    +
    +library(clhs)
    +
    +# generate cLHS design
    +cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE)
    +
    +# Plot cLHS Samples
    +par(mar=c(1,1,1,4))
    +plot(volcano_r, axes=FALSE)
    +points(cs$sampled_data)

    -
    # Summary of clhs object
    -summary(cs$sampled_data)$data
    +
    # Summary of clhs object
    +summary(cs$sampled_data)$data
    ##       elev           slope       
     ##  Min.   : 95.0   Min.   : 0.000  
     ##  1st Qu.:108.8   1st Qu.: 6.701  
    @@ -814,8 +822,8 @@ 

    5.2.7 Conditioned Latin Hypercube ## 3rd Qu.:150.2 3rd Qu.:20.459 ## Max. :184.0 Max. :33.197 ## NA's :1

    -
    # Summary of raster objects
    -cbind(summary(volcano_r), summary(slope_r)[1:6])
    +
    # Summary of raster objects
    +cbind(summary(volcano_r), summary(slope_r)[1:6])
    ##       elev                           
     ##  "Min.   : 94.0  " "Min.   : 0.000  "
     ##  "1st Qu.:108.0  " "1st Qu.: 7.054  "
    @@ -824,71 +832,71 @@ 

    5.2.7 Conditioned Latin Hypercube ## "3rd Qu.:150.0 " "3rd Qu.:21.666 " ## "Max. :195.0 " "Max. :43.032 "

    Although the above example works well on our small volcano dataset, the clhs package is inefficient if you are working with large raster datasets. To overcome this limitation, you can first take a large random sample and then subsample it using cLHS.

    -
    sub_s <- spatSample(rs, size = 200, as.points = TRUE) |>
    -  st_as_sf() # random sample function from the raster package
    -
    -s <- clhs(sub_s, size = 20, progress = FALSE, simple = FALSE)
    +
    sub_s <- spatSample(rs, size = 200, as.points = TRUE) |>
    +  st_as_sf() # random sample function from the raster package
    +
    +s <- clhs(sub_s, size = 20, progress = FALSE, simple = FALSE)

    5.3 Evaluating a Sampling Strategy

    To gauge the representativeness of a sampling strategy, you can compare the results it produces to the results for other variables you think might coincide with the soil properties or classes of interest (Hengl 2009). Examples include slope gradient, slope aspect, and vegetative cover. These other variables may be used to stratify the sampling design or to assess the representativeness of our existing samples (e.g., NASIS pedons).

    The simple example below demonstrates how to compare several sampling strategies by evaluating how well they replicate the distribution of elevation.

    -
    # set seed
    -set.seed(1234)
    -
    -# create a polygon from the spatial extent of the volcano dataset
    -test <- st_make_grid(ext(volcano_r), n = 1)
    -
    -# take a large random sample
    -sr400 <- spatSample(rs, size = 1000, method = "random", as.points = TRUE)
    -
    -# take a small random sample
    -sr <- spatSample(rs, size = 20, method = "random", as.points = TRUE)
    -
    -# take a small systematic random sample
    -sys <- spatSample(rs, size = 20, method = "regular", as.points = TRUE)
    -
    -# take a cLHS sample
    -cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE)
    -
    -# take a CSCS sample
    -fs <- cscs(rs, vars = c("elev", "slope"), n = 20)
    -
    -# Combind and Extract Samples
    -s <- rbind(
    -  data.frame(method = "Simple Random 400", as.data.frame(sr400)),
    -  data.frame(method = "Simple Random",     as.data.frame(sr)),
    -  data.frame(method = "Systematic Random", as.data.frame(sys)),
    -  data.frame(method = "cLHS",              slot(cs$sampled_data, 'data')),
    -  data.frame(method = "CSCS",              fs[c("elev", "slope")])
    -)
    -
    -# Summarize the sample values
    -aggregate(slope ~ method, data = s, function(x) round(summary(x)))
    +
    # set seed
    +set.seed(1234)
    +
    +# create a polygon from the spatial extent of the volcano dataset
    +test <- st_make_grid(ext(volcano_r), n = 1)
    +
    +# take a large random sample
    +sr400 <- spatSample(rs, size = 1000, method = "random", as.points = TRUE)
    +
    +# take a small random sample
    +sr <- spatSample(rs, size = 20, method = "random", as.points = TRUE)
    +
    +# take a small systematic random sample
    +sys <- spatSample(rs, size = 20, method = "regular", as.points = TRUE)
    +
    +# take a cLHS sample
    +cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE)
    +
    +# take a CSCS sample
    +fs <- cscs(rs, vars = c("elev", "slope"), n = 20)
    +
    +# Combind and Extract Samples
    +s <- rbind(
    +  data.frame(method = "Simple Random 400", as.data.frame(sr400)),
    +  data.frame(method = "Simple Random",     as.data.frame(sr)),
    +  data.frame(method = "Systematic Random", as.data.frame(sys)),
    +  data.frame(method = "cLHS",              slot(cs$sampled_data, 'data')),
    +  data.frame(method = "CSCS",              fs[c("elev", "slope")])
    +)
    +
    +# Summarize the sample values
    +aggregate(slope ~ method, data = s, function(x) round(summary(x)))
    ##              method slope.Min. slope.1st Qu. slope.Median slope.Mean slope.3rd Qu. slope.Max.
     ## 1              cLHS          3             8           15         16            21         32
     ## 2              CSCS          1             7           15         16            24         36
     ## 3     Simple Random          0            14           17         18            22         34
     ## 4 Simple Random 400          0             6           14         15            22         43
     ## 5 Systematic Random          0             6           12         13            17         34
    -
    # Plot overlapping density plots to compare the distributions between the large and small samples
    -ggplot(s, aes(x = slope, col = method)) + 
    -        geom_density(cex = 2)
    +
    # Plot overlapping density plots to compare the distributions between the large and small samples
    +ggplot(s, aes(x = slope, col = method)) + 
    +        geom_density(cex = 2)

    -
    # plot the spatial locations            
    -par(mfrow = c(2, 2), mar = c(1,2,4,5))
    -plot(volcano_r, main = "Simple random", cex.main = 2, axes=FALSE)
    -points(sr, pch = 3, cex = 1.2)
    -
    -plot(volcano_r, main = "Systematic random", cex.main = 2, axes=FALSE)
    -points(sys, pch = 3, cex = 1.2)
    -
    -plot(volcano_r, main = "cLHS", cex.main = 2, axes=FALSE)
    -points(cs$sampled_data, pch = 3, cex = 1.2)
    -
    -plot(volcano_r, main = "CSCS", cex.main = 2, axes=FALSE)
    -points(fs_sf, pch = 3, cex = 1.2)
    +
    # plot the spatial locations            
    +par(mfrow = c(2, 2), mar = c(1,2,4,5))
    +plot(volcano_r, main = "Simple random", cex.main = 2, axes=FALSE)
    +points(sr, pch = 3, cex = 1.2)
    +
    +plot(volcano_r, main = "Systematic random", cex.main = 2, axes=FALSE)
    +points(sys, pch = 3, cex = 1.2)
    +
    +plot(volcano_r, main = "cLHS", cex.main = 2, axes=FALSE)
    +points(cs$sampled_data, pch = 3, cex = 1.2)
    +
    +plot(volcano_r, main = "CSCS", cex.main = 2, axes=FALSE)
    +points(fs_sf, pch = 3, cex = 1.2)

    The overlapping density plots above illustrate the differences between large and small sets of samples using several sampling designs.

    The cLHS approach best duplicates the distribution of elevation (because elevation is explicitly used in the stratification process). The contrast is less severe in the summary metrics, but again cLHS more closely resembles the larger sample. Other comparisons are possible using the approaches in the following chapters.

    diff --git a/book/search_index.json b/book/search_index.json index 5b90ea16..26738339 100644 --- a/book/search_index.json +++ b/book/search_index.json @@ -1 +1 @@ -[["index.html", "Statistics for Soil Survey - Part 1 Pre-course Assignment 0.1 Create Workspace 0.2 Configure RStudio 0.3 Essentials 0.4 Personalization 0.5 Install Required Packages 0.6 Dealing With Errors 0.7 Packages not on CRAN 0.8 Connect Local NASIS 0.9 Proof 0.10 Additional Soil Data and R References", " Statistics for Soil Survey - Part 1 Soil Survey Staff 2025-01-02 Pre-course Assignment 0.1 Create Workspace Make a local folder C:\\workspace2 to use as a working directory for this course. Use all lower case letters please. 0.2 Configure RStudio Open RStudio, and edit the “Global Options” (Main menu: Tools → Global Options). 0.3 Essentials These options are important for pleasant, reproducible and efficient use of the RStudio environment: Change the default working directory to C:\\workspace2 (R General Tab) Uncheck “Restore .Rdata into workspace at startup” (R General Tab) VERY IMPORTANT Figure 1: Example of RStudio General settings. RStudio detects the available R installations on your computer. Individual versions are certified for the Software Center as they become available, and sometimes there is a more recent version available for download. It is worth taking the time before installing packages to get the latest version of R available to you. This is to minimize compatibility issues which arise over time. 0.4 Personalization Figure 2: Example of RStudio Code/Editing settings. Optional: Check “Soft-wrap R source files” (Code/Editing Tab) Optional: Show help tooltips, control auto-completion and diagnostics (Code/Completion and Diagnostics Tabs) Optional: Update code font size, colors and theme (Appearance) Optional: Use RStudio Projects (top-right corner) to manage working directories 0.5 Install Required Packages Packages can be installed by name from the Comprehensive R Archive Network (CRAN) using the base R function install.packages(). There are a lot of packages out there–many more than you will download here, and many of which are useful for Soil Survey work. The first time you install packages, R may ask you if you want to create a local package library. You need to do this because we cannot write to system folders as non-administrator users on CCE machines. The default location for R package library on Windows is: C:\\Users\\<User.Name>\\AppData\\Local\\R\\win-library\\<X.X> where <User.Name> is the current Windows user name and <X.X> is the version of R packages are being installed for. If you have an existing R package library (for same minor version of R), you can copy that library into the AppData\\Local\\R folder as needed. For example, to download and install the remotes package from CRAN: install.packages("remotes") To install the R packages used in this class copy all of the code from the box below and paste into the R console window. Paste after the command prompt (>) and press enter. Downloading and configuring the packages will take a while if you are installing or upgrading all of the packages in the list below. On particularly slow network connections, i.e. over VPN or USDA network in general, it may be necessary to increase the “timeout” option to ensure the downloads have sufficient time to complete. # increase default timeout from 1 minute to 5 minutes (for current session only) options(timeout = 300) ## character vector of package names packages <- c( # soil "aqp", "soilDB", "sharpshootR", "soiltexture", # gis "raster", "sp", "sf", "terra", "gdalUtilities", "rgrass", "RSAGA", "exactextractr", "fasterize", # data management "dplyr", "tidyr", "devtools", "roxygen2", "Hmisc", "circular", "DT", "remotes", # databases "DBI", "odbc", "RSQLite", # graphics "ggplot2", "latticeExtra", "maps", "spData", "tmap", "kableExtra", "corrplot", "farver", "mapview", "ggmap", "plotrix", "rpart.plot", "visreg", "diagram", "GGally", "wesanderson", "viridisLite", "prettymapr", # modeling "car", "rms", "randomForest", "ranger", "party", "caret", "vegan", "ape", "shape", "modEvA", "gower", "MBESS", "yardstick", # sampling "clhs", "spcosa" ) # ipkCRAN: a helper fuction for installing required packages from CRAN source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/ipkCRAN.R") ## - p: vector of package names ## - up: logical - upgrade installed packages? Default: TRUE ## up = TRUE to download all packages ## up = FALSE to download only packages you don't already have installed ipkCRAN(p = packages, up = TRUE) The ipkCRAN function will let you know if any of the above packages fail to install. Whenever you run some code always check the console output for warnings and errors before continuing. It may be easiest to send commands individually to learn about and inspect their output, rather than running the entire file and wondering where an error occurred. 0.6 Dealing With Errors If a lot of output is produced by a command you should scroll up and sift through it as best you can. Copy and paste parts of the error message to use in internet searches, and try to find cases where folks have encountered problems. 0.6.1 No output is produced after pasting into console If you do not have a new command prompt (>) and a blinking cursor on the left hand side of your console, but instead see a + after you run a command, R may think you are still in the middle of submitting input to the “read-eval-print-loop” (REPL). If this is not expected you are possibly missing closing quotes, braces, brackets or parentheses. R needs to know you were done with your expression, so you may need to supply some input to get the command to be complete. Pasting code line-by-line is useful but prone to input errors with multi-line expressions. Alternately, you can run commands or an entire file using the GUI or keyboard shortcuts such as Ctrl+Enter. You have a chance to try this in the example at the end. 0.6.2 ‘SOMEPACKAGE’ is not available (for R version X.Y.Z) This means either: A package named ‘SOMEPACKAGE’ exists but it is not available for your version of R CRAN does not have a package with that name You can try again, but first check for spelling and case-sensitivity. When in doubt search the package name on Google or CRAN to make sure you have it right. Note that not all R packages are available on CRAN: there are many other ways that you can deliver packages (including GitHub described below). 0.7 Packages not on CRAN Some R packages rely on compiled code. Windows users are limited to installing “binary” versions of such packages from CRAN unless they have “Rtools” installed. The Rtools software is available from the Software Center, and is specific to the version of R you have. One way to get the latest binary builds of R packages that use compiled code is by using https://r-universe.dev. This website provides custom repositories that can be used in addition to the defaults in install.packages() For example, you can install raster-related “rspatial” packages from r-universe.dev. This may not be “required” but it is good to know how to specify an alternate package repository source using the repos= argument. Check with your mentor to see if there are known issues with current CRAN packages. install.packages(c('terra', 'raster'), repos='https://rspatial.r-universe.dev') To install the latest version of packages from the Algorithms for Quantitative Pedology (AQP) suite off GitHub we use the remotes package. The AQP packages are updated much more frequently on GitHub than they are on CRAN. Generally, the CRAN versions (installed above) are the “stable” releases whereas the GitHub repositories have new features and bug fixes. remotes::install_github("ncss-tech/aqp", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/soilDB", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/sharpshootR", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/soilReports", dependencies=FALSE, upgrade=FALSE, build=FALSE) 0.8 Connect Local NASIS Establish an ODBC connection to NASIS by following the directions at the following hyperlink (ODBC Connection to NASIS). Once you’ve successfully established a ODBC connection, prove it by loading your NASIS selected set with the site and pedon tables for any pedons from your local area. You only need a few pedons at a minimum for this demo – too many (say, >20) will make the example profile plot cluttered. Paste the below code at the command prompt (>) and press enter, as you did above. Or create a new R script (Main menu: File → New File → R Script) and paste code into the “Source” pane (script editor window). Then, click the Run button in the top-right corner of the Script Editor or use Ctrl+Enter to run code at the cursor location / any selected code. This will execute the code in the Console. Submit the resulting plot to your mentor (from “Plot” pane (bottom-right): Export → Save as PDF…) # load packages into the current session library(aqp) # provides "SoilProfileCollection" object & more library(soilDB) # provides database access methods # get pedons from NASIS selected set test <- fetchNASIS(from = 'pedons') # inspect the result str(test, max.level = 2) # make a profile plot # set margins smaller than default par(mar=c(1,1,1,1)) # make profile plot of selected set, with userpedonid as label plot(test, label='pedon_id') 0.9 Proof Follow the one line example below, copy the output, and submit the results to your mentor. This will help us to verify that all of the required packages have been installed. # dump list of packages that are loaded into the current session sessionInfo() 0.10 Additional Soil Data and R References 0.10.1 Soil Data Videos Paul Finnel’s NASIS webinar Stats for Soil Survey Webinar Soil Data Aggregation using R Webinar 0.10.2 R Books and Manuals R-Intro R for Beginners Spatial Data Analysis and Modeling with R (highly recommended) Geographic Data Science with R book The R Inferno AQP Website and Tutorials "],["intro.html", "Chapter 1 Introduction to R 1.1 Outline 1.2 Course Overview 1.3 What is R? 1.4 RStudio: An Integrated Development Environment (IDE) for R 1.5 Rcmdr (R Commander): A Graphical User Interface for R 1.6 R basics 1.7 Managing Packages 1.8 Getting Help 1.9 Documenting your work 1.10 Organizing your work 1.11 Saving your work 1.12 Exercise 1 1.13 Loading Data 1.14 Data manipulation 1.15 Exercise 2 1.16 Review 1.17 Additional Reading (Introduction)", " Chapter 1 Introduction to R 1.1 Outline Course Overview Review Course Objectives Why is this training needed? Why is course organized this way? What is R? Why should I use R? What can R do? How do I get started? RStudio interface What are packages? How to navigate the Help tab How to save files Manipulating data Loading & viewing data Filtering, transforming, merging, aggregating and reshaping data Exporting data 1.2 Course Overview 1.2.1 Course Objectives Develop solutions to investigate soil survey correlation problems and update activities. Evaluate investigations for interpretive results and determine how to proceed. Summarize data for population in NASIS. Analyze spatial data to investigate soil-landscape relationships Help to pursue the question “why” 1.2.2 Why is this training needed? Long standing goal of the Soil Science Division to have a course in statistics (Mausbach 2003) Opportunities to learn these techniques are limited, especially at the undergraduate level (Hennemann and Rossiter 2004) Consistent methodology (data analysis, data population, sampling design, etc.) There is continually a greater need to use these techniques: Mapping of lands at high production rates ((MacMillan, Moon, and Coupé 2007); (Kempen et al. 2012); (Brevik et al. 2016)) Ecological Sites (Maynard et al. 2019) Soil survey refinement (disaggregation) (Chaney et al. (2016)];(Ramcharan et al. 2018)) 1.2.3 Why is course organized this way? Our best judgment for assembling into 24 hours what could be 6 University level courses Mixture of slides and script enabled web pages is new for NRCS The web content is a long-term investment and should serve as a permanent reference Feel free to provide guidance for improving the class for future offerings 1.3 What is R? R is a free, open-source software and programming language developed in 1995 at the University of Auckland as an environment for statistical computing and graphics (Ihaka and Gentleman 1996). Since then R has become one of the dominant software environments for data analysis and is used by a variety of scientific disiplines, including soil science, ecology, and geoinformatics (Envirometrics CRAN Task View; Spatial CRAN Task View). R is particularly popular for its graphical capabilities, but it is also prized for it’s GIS capabilities which make it relatively easy to generate raster-based models. More recently, R has also gained several packages which are designed specifically for analyzing soil data. a software environment: statistics graphics programming calculator GIS a language to explore, summarize, and model data functions = verbs objects = nouns 1.3.1 Why Should I Learn R? While the vast majority of people use Microsoft Excel for data analysis, R offers numerous advantages, such as: Cost. R is free! (“Free as in free speech, not free beer.”) Reproducible Research (self-documenting, repeatable) repeatable: code + output in a single document (‘I want the right answer, not a quick answer’ - Paul Finnell) easier the next time (humorous example) numerous Excel horror stories of scientific studies gone wrong exist (TED Talk) scalable: applicable to small or large problems R in a Community Numerous Discipline Specific R Groups Numerous Local R User Groups (including R-Ladies Groups) Stack Overflow Learning Resources (quantity and quality) R books (Free Online) R Books R is ‘becoming’ the new norm (paradigm shift?) “If we don’t accept these challenges, others who are less qualified will; and soil scientists will be displaced by apathy.” (Arnold and Wilding 1991) While some people find the use of a commandline environment daunting, it is becoming a necessary skill for scientists as the volume and variety of data has grown. Thus scripting or programming has become a third language for many scientists, in addition to their native language and disipline specific terminology. Other popular programming languages include: SQL (i.e. NASIS), Python (i.e. ArcGIS), and JavaScript. ODBC and GDAL link R to nearly all possible formats/interfaces 1.3.2 What can R do? 1.3.3 Packages Base R (functionality is extended through packages) basic summaries of quantitative or qualitative data data exploration via graphics GIS data processing and analysis Soil Science R Packages aqp - visualization, aggregation, classification soilDB - access to commonly used soil databases soilReports - handful of report templates soiltexture - textural triangles Ecology R packages vegan - ordination, diversity analysis, etc. dismo - species distribution modeling 1.3.3.1 Soil Science Applications 1.3.3.1.1 Create Maps 1.3.3.1.2 Draw Soil Profiles 1.3.3.1.3 Draw Depth Plots 1.3.3.1.4 Estimate the Range in Characteristics (RIC) variable genhz pct10 median pct90 clay A 13 16 22 clay BAt 16 19 25 clay Bt1 18 24 32 clay Bt2 22 30 44 clay Cr 15 15 15 phfield A 6 6 7 phfield BAt 5 6 6 phfield Bt1 5 6 7 1.4 RStudio: An Integrated Development Environment (IDE) for R RStudio is an integrated development environment (IDE) that allows you to interact with R more readily. RStudio is similar to the standard RGui, but is considerably more user friendly. It has more drop-down menus, windows with multiple tabs, and many customization options. The first time you open RStudio, you will see three windows. A forth window is hidden by default, but can be opened by clicking the File drop-down menu, then New File, and then R Script. Detailed information on using RStudio can be found at at RStudio’s Website. RStudio Windows / Tabs Location Description Console Window lower-left location were commands are entered and the output is printed Source Tabs upper-left built-in text editor Environment Tab upper-right interactive list of loaded R objects History Tab upper-right list of key strokes entered into the Console Files Tab lower-right file explorer to navigate C drive folders Plots Tab lower-right output location for plots Packages Tab lower-right list of installed packages Help Tab lower-right output location for help commands and help search window Viewer Tab lower-right advanced tab for local web content 1.5 Rcmdr (R Commander): A Graphical User Interface for R While we recommend the use of RStudio for some of the reasons listed above, many people new to R (or infrequent users) might benefit from a graphical user interface (GUI) that allows the user to run basic functions using a point and click interface. Luckily for beginners R has the R Commander (Rcmdr) GUI, which is similar to JMP. Rcmdr was created by John Fox for his introductory statistics students so they could see how the software worked without learning a large number of function names and arguments. Rcmdr is a great way to begin familiarizing yourself with R and statistics within a GUI environment. Regrettably, we know of no GUI that allows users to perform the majority of soil survey applications demonstrated in this course, and thus Rcmdr will not be covered. For those who wish to pursue Rcmdr, alternative instructions can be viewed at Andy Chang & G. Jay Kerns website. To take a quick peek at Rcmdr, it can be opened by entering the following command into the R console. install.packages("Rcmdr") library(Rcmdr) 1.6 R basics R is command-line driven. It requires you to type or copy-and-paste commands after a command prompt (>) that appears when you open R. This is called the “Read-Eval-Print-Loop” or REPL. After typing a command in the R console and pressing Enter on your keyboard, the command will run. If your command is not complete, R issues a continuation prompt (signified by a plus sign: +). R is case sensitive. Make sure your spelling and capitalization are correct. Commands in R are also called functions. The basic format of a function in R is: object <- function.name(argument_1 = data, argument_2 = TRUE). The up arrow (^) on your keyboard can be used to bring up previous commands that you’ve typed in the R console. Comments in R code need to start with the # symbol (a.k.a. hash-tag, comment, pound, or number symbol). R ignores the remainder of the script line following #. # Math 1 + 1 10 * 10 log10(100) # combine values c(1, 2, 3) # Create sequence of values 1:10 # Implicit looping 1:10 * 5 1:10 * 1:10 # Assignment and data types ## numeric clay <- c(10, 12, 15, 26, 30) ## character subgroup <- c("typic haplocryepts","andic haplocryepts","typic dystrocryepts") ## logical andic <- c(FALSE, TRUE ,FALSE) # Print print(clay) subgroup 1.7 Managing Packages Packages are collections of additional functions that can be loaded on demand. They commonly include example data that can be used to demonstrate those functions. Although R comes with many common statistical functions and models, most of our work requires additional packages. 1.7.1 Installing Packages To use a package, you must first install it and then load it. These steps can be done at the command line or using the Packages Tab. Examples of both approaches are provided below. R packages only need to be installed once (until R is upgraded or re-installed). Every time you start a new R session, however, you need to load every package that you intend to use in that session. Within the Packages tab you will see a list of all the packages currently installed on your computer, and 2 buttons labeled either “Install” or “Update”. To install a new package simply select the Install button. You can enter install one or more than one packages at a time by simply separating them with a comma. To find out what packages are installed on your computer, use the following commands: library() # or installed.packages() One useful package for soil scientists is the soiltexture package. It allows you to plot soil textural triangles. The following command shows how to install this package if you do not currently have it downloaded: # CRAN (static version) install.packages(c("soiltexture")) # GitHub (development version) remotes::install_github("julienmoeys/soiltexture/pkg/soiltexture", dependencies = FALSE, upgrade = FALSE, build = FALSE) 1.7.2 Loading Packages Once a package is installed, it must be loaded into the R session to be used. This can be done by using library(). The package name does not need to be quoted. library(soilDB) You can also load packages using the Packages Tab, by checking the box next to the package name. For example, documentation for the soilDB package is available from the help() function. help(package = "soilDB") 1.8 Getting Help R has extensive documentation, numerous mailing lists, and countless books (many of which are free and listed at end of each chapter for this course). To learn more about the function you are using and the options and arguments available, learn to help yourself by taking advantage of some of the following help functions in RStudio: Use the Help tab in the lower-right Window to search commands (such as hist) or topics (such as histogram). Type help(read.csv) or ?read.csv in the Console window to bring up a help page. Results will appear in the Help tab in the lower right-hand window. Certain functions may require quotations, such as help(\"+\"). # Help file for a function help(read.csv) # or ?read.csv # Help files for a package help(package = "soiltexture") 1.9 Documenting your work RStudio’s Source Tabs serve as a built-in text editor. Prior to executing R functions at the Console, commands are typically written down (or scripted). Scripting is essentially showing your work. The sequence of functions necessary to complete a task are scripted in order to document or automate a task. While scripting may seems cumbersome at first, it ultimately saves time in the long run, particularly for repetitive tasks (humorous YouTube Video on Scripting). Benefits include: allows others to reproduce your work, which is the foundation of science serves as instruction/reminder on how to perform a task allows rapid iteration, which saves time and allows the evaluation of incremental changes reduces the chance of human error 1.9.1 Basic Tips for Scripting To write a script, simply open a new R script file by clicking File>New File>R Script. Within the text editor type out a sequence of functions. Place each function (e.g. read.csv()) on a separate line. If a function has a long list of arguments, place each argument on a separate line. A command can be excuted from the text editor by placing the cursor on a line and typing Crtl + Enter, or by clicking the Run button. An entire R script file can be excuted by clicking the Source button. 1.9.2 Comments It is a good idea to include comments in your code, so that in the future both yourself and others can understand what you were doing. Each line with a comment starts with #. In RStudio, you can use # comments to create an “outline” for your source documents. Multiple # signs increase the depth of the hierarchy. Ending a comment line with four hyphens (----) indicates that text should be included in the outline. The source file outline using comments in regular .R source files is analogous to the Markdown syntax used in R Markdown and Quarto for headers. For example, the following code block creates two outline sections, each with a nested subsection. To show the outline view, click the “outline” button in the top-right hand corner of the source window. Paste it in a fresh R document to try it out. # one ---- print("Section 1") ## one two ---- # this is an ordinary comment (does not show in outline) print("Subsection 1.2") # two ---- print("Section 2") ## two one ---- print("Subsection 2.1) 1.10 Organizing your work When you first begin a project you should create a new folder and place within it all the data and code associated with the project. This simplifies the process of accessing your files from R. Using a project folder is also a good habit because it makes it easier to pickup where you left off and find your data if you need to come back to it later. Within R, your project folder is also known as your working directory. This directory will be the default location your plots and other R output are saved. You want to have inputs for your code in the working directory so that you can refer to them using relative file paths. Relative file paths make it easier if you move the folder containing your script(s) around. Or, if you share it with someone else, they will have little issue getting your code to work on their own file system. 1.10.1 Setting the Working Directory Before you begin working in R, you should set your working directory to your project folder; for example, setwd(\"C:\\\\workspace2\\\\projectx...\"). You can use RStudio to manage your projects and folders. NOTE: Beware when specifying any file paths that R uses forward slashes / instead of back slashes \\. Back slashes are reserved for use as an escape character, so you must use two of them to get one in result character string. To change the working directory in RStudio, select main menu Session >> Set Working Directory >> …. Or, from the “Files” tab click More >> Set As Working Directory to use the current location of the “Files” tab as your working directory. Setting the working directory can also be done via the Console with the setwd() command: setwd("C:/workspace2") To check the file path of the current working directory (which should now be \"C:\\\\workspace2\"), type: getwd() 1.10.2 RStudio Projects (.Rproj files) You can also manage your working directory using RStudio Projects. An RStudio Project file (.Rproj) is analogous to, for example, a .mxd file for ArcMap. It contains information about the specific settings you may have set for a “project”. You open or create projects using the drop down menu in the top right-hand corner of the RStudio window (shown below) RStudio Project Menu Here is what a typical Project drop-down menu looks like: RStudio Project Menu (expanded) You can create new projects from existing or new directories with “New Project…”. When you click “Open Project…”, your working directory is automatically set to the .Rproj file’s location – this is extremely handy Any projects you have created/used recently will show up in the “Project List” 1.11 Saving your work In R, you can save several types of files to keep track of the work you do. The file types include: workspace, script, history, and graphics. It is important to save often because R, like any other software, may crash periodically. Such problems are especially likely when working with large files. You can save your workspace in R via the command line or the File menu. 1.11.0.1 R script (.R) An R script is simply a text file of R commands that you’ve typed. You may want to save your scripts (whether they were written in R Editor or another program such as Notepad) so that you can reference them in the future, edit them as needed, and keep track of what you’ve done. To save R scripts in RStudio, simply click the save button from your R script tab. Save scripts with the .R extension. R assumes that script files are saved with only that extension. If you are using another text editor, you won’t need to worry about saving your scripts in R. You can open text files in the RStudio text editor, but beware copying and pasting from Word files as discussed below. To open an R script, click the file icon. 1.11.0.2 Microsoft Word Files Using Microsoft Word to write or save R scripts is generally a bad idea. Certain keyboard characters, such as quotations ““, are not stored the same in Word (e.g. they are”left” and “right” handed). The difference is hard to distinguish, but will not run in R. Also, pasting your R code or output into Wword documents manually is not reproducible, so while it may work in a pinch, it ultimately costs you time. You can use the word_document Rmarkdown template to automatically “Knit” .docx files from R code using a template, which is very handy for quickly getting a nice looking document! 1.11.0.3 R Markdown (.Rmd) R Markdown (.Rmd) documents contain information for the reproducible combination of narrative text and code to produce elegantly formatted output. You can use multiple languages in .Rmd documents including R, Python, and SQL. You can easily “knit” visually appealing and high-quality documents into rich HTML, PDF or Word documents from the RStudio interface. This document is made in bookdown, a variant of rmarkdown used for book templates involving multiple chapters. You can make blogs and websites for your R packages with blogdown and pkgdown. These are all tools based off of the powerful “pandoc” engine and the tools in the R Markdown ecosystem. 1.11.0.4 R history (.Rhistory) An R history file is a copy of all your key strokes. You can think of it as brute force way of saving your work. It can be useful if you didn’t document all your steps in an R script file. Like an R file, an Rhistory file is simply a text file that lists all of the commands that you’ve executed. It does not keep a record of the results. To load or save your R history from the History Tab click the Open File or Save button. If you load an Rhistory file, your previous commands will again become available with the up-arrow and down-arrow keys. You can also use the command line to load or save your history. savehistory(file = "sand.Rhistory") loadhistory(file = "sand.Rhistory") history(max.show=Inf) #displays all previous commands 1.11.0.5 R Graphics Graphic outputs can be saved in various formats. Format Function pdf pdf(“graphic.pdf”) window metafile win.metafile(“graphic.wmf”) png png(“graph.png”) jpeg jpeg(“graph.jpg”) bmp bmp(“graph.bmp”) postscript postscript(“graph.ps”) To save a graphic: (1) Click the Plots Tab window, (2) click the Export button, (3) Choose your desired format, (3) Modify the export settings as you desire, and (4) click Save. The R command for saving a graphic is: png(file = "npk_yield.png") plot(npk$yield) dev.off() The first line of this command creates a blank file named sand with a JPEG extension. The second line plots the data object that you want to create a graphic of (here it is conveniently the same name as the JPEG file we are creating). The third line closes the graphics device. 1.12 Exercise 1 Using the examples discussed thus far as a guide, demonstrate your mastery of the material by performing the following tasks. Create an R script file, demonstrate 3 basic R functions, and comment (#) your code. Install the FedData R package from CRAN and GitHub. Save the commands in your R script file. Load the FedData R package and read the help file for the get_ssurgo function within the FedData package. What is the 1st input/argument? Save the R command in your R script. Save your R script, and forward to your instructor. 1.13 Loading Data R can load a variety of data formats, however tabular data is by far the most common, and what we will spend of the majority of our time working with. Typically tabular data is stored in spreadsheets (e.g. .txt, .csv, .xlsx), databases (e.g. NASIS), or webpages (.html). Within R tabular data is stored as a data.frame. 1.13.0.1 Text files Text files are a preferable format for storing and transferring small datasets. One basic command for importing text files into R is read.csv(). The command is followed by the file name or URL and then some optional instructions for how to read the file. These files can either be imported into R by clicking the Import Dataset >> From Text buttons from the Environment tab, or by typing the following command into the R console: # from working directory sand <- read.csv("C:/workspace2/sand_example.csv") # from URL sand <- read.csv("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/data/sand_example.csv") 1.13.0.2 Excel files R can import Excel files, but generally speaking it is a bad idea to use Excel. Excel has a dangerous default which automatically converts data with common notations to their standard format without warning or notice. For example, the character “11-JUN” entered into a cell automatically becomes the date 6/11/2021, even though the data is still displayed as 11-JUN. The only way to avoid this default behavior is to manually import your data into Excel via the Data Tab>Get External Data Ribbon, and manually set the data type of all your columns to text. Failure to do so has resulted in numerous retracted research articles (Washington Post Article). Warnings aside, Excel files are a very common and are a format most people are familiar with. Therefore we will illustrate how to bring them into R. Download the sand Excel dataset from GitHub at https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/Pre-course/R_sand/sand_example.xlsx Excel datasets can either be imported into R by clicking the Import Dataset >> From Excel buttons from the Environment tab, or by typing the following command into the R console: library(readxl) sand_example <- read_excel("sand_example.xlsx") 1.13.0.3 NASIS (Web) Reports NASIS provides a plethora of reports, many of which can be read into R for analysis. The soilDB R package provides a series of functions to read data from NASIS either using a local database connection or via HTML web reports. Similar functions also exist for accessing tabular data from Soil Data Access. More details on soilDB will be provided in the next chapter, but now we’ll illustrate how to access some example datasets for manipulating tabular data. library(soilDB) # get projects prj <- get_project_from_NASISWebReport(mlrassoarea = "11-IND", fiscalyear = 2020) # get legends leg <- get_legend_from_NASISWebReport(mlraoffice = "Indi%", areasymbol = "%") # get map units mu <- get_mapunit_from_NASISWebReport(areasymbol = c("IN001", "IN11%")) 1.14 Data manipulation Before we can do any sort of analysis, analysis, our data often needs to be manipulated one way or another. Estimates vary, but an analyst typically spend 80% of their time manipulating data, and only 20% actually analyzing or modeling. Tasks generally involve filtering, transforming, merging, aggregating, and reshaping data. R has many functions and packages for manipulating data frames, but within the past several years a family of packages, known as the tidyverse, have been developed to simplify interacting with data frames (or tibbles). Within the tidyverse the most commonly used packages are dplyr and tidyr. Many of the tidyverse function names are patterned after SQL syntax. We will review the most common functions you need to know in order to accomplish the majority of data manipulation tasks. 1.14.1 Viewing and Removing Data Once a file is imported, it is imperative that you check to ensure that R correctly imported your data. Make sure numerical data are correctly imported as numerical, that your column headings are preserved, etc. To view the data simply click on the mu dataset listed in the Environment tab. This will open up a separate window that displays a spreadsheet like view. Additionally you can use the following functions to view your data in R. Function Description print() prints the entire object (avoid with large tables) head() prints the first 6 lines of your data str() shows the data structure of an R object names() lists the column names (i.e., headers) of your data ls() lists all the R objects in your workspace directory Try entering the following commands to view the mu dataset in R: str(mu) names(mu) head(mu) ls() A data object is anything you’ve created or imported and assigned a name to in R. The Environment tab allows you to see what data objects are in your R session and expand their structure. Right now sand should be the only data object listed. If you wanted to delete all data objects from your R session, you could click the broom icon from the Environments tab. Otherwise you could type: # Remove all R objects rm(list = ls(all = TRUE)) # Remove individual objects rm(mu, leg, sand) 1.14.2 Filtering or Subsetting Data When analyzing data in NASIS, filtering is typically accomplished by loading your selected set with only the records you’re interested in. However, it is often useful or necessary to subset your data after it’s loaded. This can allow you to isolate interesting records within large datasets. For these reasons R has numerous options/functions for filtering data. Data frames can be filtered by both columns and rows, using either names, position (e.g. column 1, row 5), or logical indices (e.g. TRUE/FALSE). Another particularly useful feature is the use of pattern matching which uses regular expressions to select data, which is similar to the LIKE statement from SQL. **Filtering with names and numerical indices # Filtering with names mu$areasymbol # select column names using $ mu[, c("areasymbol", "musym")] # select column names using [] mu[c("1", "2"), ] # select row names using [] mu[c("1", "2"), c("areasymbol", "musym")] # select column and row names using [] # Filtering by position mu[1, ] # select first row mu[, 1] # select first column mu[2, 2] # select second row and second column mu[c(1, 2, 3), ] # select multiple rows mu[c(-1, -2), ] # drop multiple rows Logical Operators == R uses a double equal sign as “equal-to” in SQL != “Not-equal-to” <, >, <=, >= Less than, greater than, less than or equal to, and greater than or equal & Equivalent to AND in SQL and Soil Taxonomy, must match both conditions | Equivalent to OR in SQL and Soil Taxonomy, must match at least one condition %in% Equivalent to IN () in SQL (e.g. mu$areasymbol %in% c(\"IN001\", \"IN111\") grepl() equivalent to LIKE in SQL (e.g. grepl(\"IN%\", mu$areasymbol)) Filtering with logicals # Standard evaluation with base R [] # Filtering with logicals mu[mu$areasymbol == "IN001", ] # select rows that equal IN001 mu[mu$areasymbol != "IN001", ] # select rows that do not equal IN001 mu[, names(mu) == "areasymbol"] # select columns that equal areasymbol mu[, names(mu) %in% c("areasymbol", "musym")] # select columns that match areasymbol and musym mu[grepl("Miami", mu$muname), ] # select rows that contain Miami # Non-standard evaluation with tidyverse library(dplyr) # Filtering rows filter(mu, areasymbol == "IN001") filter(mu, areasymbol != "IN001") filter(mu, areasymbol %in% c("IN001", "IN111")) filter(mu, grepl("Miami", muname)) filter(mu, muacres > 0) # Select columns select(mu, areasymbol, musym) # Slice rows slice(mu, 1:5) 1.14.3 Transforming Data This allows you to create new columns by convert, compute, or combine data within existing columns. mu <- mutate(mu, # convert to hectares muhectares = muacres * 0.4047, # convert muname to TRUE or FALSE if Miami is present using pattern matching miami = grepl("Miami", muname), # compute % minor component n_minor = n_component - n_majcompflag, # combine columns key = paste(areasymbol, musym) ) 1.14.4 Sorting Data Sorting allows you to rearrange your data. Beware R has several similar functions (e.g. sort and order) for sorting data only work with specific datatypes. The tidyverse function arrange is designed to work with data frames. # sort ascending arrange(mu, areasymbol, muname) # sort descending arrange(mu, desc(areasymbol), desc(muname)) 1.14.5 Piping Data Another particularly useful feature provided by the magrittr package and used in the tidyverse is the use of pipe (%>%). Base R also has a native pipe operator (|>). Using the RStudio keyboard shortcut Ctrl + Shift + M inserts the pipe you have selected as default in Global Options > Code. f(x,y) becomes x %>% f(y) The “pipe” is something that occurs in many programming languages and computing contexts. It allows output from one expression to be passed as input to the first argument of the next function. This allows sequences of commands to be read from right to left b(or top to bottom) rather than from the inside out. # non-piping example 1 mu_sub <- filter(mu, areasymbol == "IN001") mu_sub <- mutate(mu_sub, pct_100less = pct_component < 100) # non-piping example 2 mu_sub <- mutate(filter(mu, areasymbol == "IN001"), pct_100less = pct_component < 100) # piping mu_sub <- mu %>% filter(areasymbol == "IN001") %>% mutate(pct_100less = pct_component < 100) 1.14.6 Merging/Joining or Combining Data ** Joining** When working with tabular data you often have 2 or more tables you need to join. There are several ways to join tables. Which direction to join and which columns to join will determine how you achieve the join. # inner join leg_mu <- inner_join(leg, mu, by = c("liid", "areasymbol")) # left join leg_mu <- left_join(leg, mu, by = c("liid")) # right_join leg_mu <- right_join(leg, mu, by = "liid") ** Combining** If your tables have the same structure (e.g. columns), or length and order you may simply combine them. For example, if you have two different mapunit tables. # combine rows rbind(mu, mu) rbind(mu, leg) # won't work # combine columns cbind(mu, mu) # beware combine tables with duplicate column names cbind(mu, areasymbol_2 = mu$areasymbol) cbind(mu, leg) # won't work 1.14.7 Aggregating or Grouping Data Because soil data has multiple dimensions (e.g. properties and depths) and levels of organization (e.g. many to one relationships), it is often necessary to aggregate it. For example, when we wish to make a map we often need to aggregate over components and then map units. Depending on the data type this aggregation may involve taking a weighted average or selecting the dominant condition. The group_by function defines the groups over which we wish to summarize the data. mu_agg <- mu %>% group_by(grpname, areasymbol) %>% summarize(sum_muacres = sum(muacres), n_musym = length(musym) ) 1.14.8 Reshaping Data Typically data is stored in what is known as a wide format, where each column contains a different variable (e.g. depth, clay, sand, rocks). However, sometimes it is necessary to reshape or pivot to a long format, where each variable/column is compressed into 2 new rows. One new column contains the old column names, while another new column contains the values from the old columns. This is particularly useful when combining multiple variables into a single plot. library(tidyr) # Simplify mu example dataset mu2 <- mu %>% select(grpname, areasymbol, musym, muacres, n_component, pct_hydric) %>% slice(1:5) print(mu2) # Pivot long mu2_long <- pivot_longer(mu2, cols = c(muacres, n_component, pct_hydric)) print(mu2_long) # Pivot wide mu2_wide <- pivot_wider(mu2_long, names_from = name) print(mu2_wide) 1.14.9 Exporting Data To export data from R, use the command write.csv() or write.dbf() functions. Since we have already set our working directory, R automatically saves our file into the working directory. write.csv(mu_agg, file = "mu_agg.csv") library(foreign) write.dbf(as.data.frame(mu_agg), file = "mu_agg.dbf") 1.15 Exercise 2 Create a new R script file. To get information from the NASIS legend table for the state of Wisconsin use the soilDB function get_legend_from_NASISWebReport() for mlraoffice = \"%\" and areasymbol = \"WI%\" Filter the legend table for rows where the ssastatus == \"Out-of-date\" to find the soil survey areas that need update. Inspect the result to find the areasymbol values. Load the mapunit table, using soilDB get_mapunit_from_NASISWebReport() using the area symbols you identified in step 3. Calculate the acreage of hydric soils for each mapunit by multiplying muacres by pct_hydric. Note: pct_hydric is a percentage, not a proportion. Aggregate the total acreage of hydric soils each soil survey area using dplyr functions group_by() and summarize(). Join the aggregated mapunit table from Step 6 to the legend table from Step 3 using dplyr left_join(). Calculate the proportion of the total soil survey area acres (areaacres) that are hydric soils. Answer the following questions: What soil survey areas need update in Wisconsin? What proportion of those soil survey areas are hydric soils? Bonus: How does your joined result in Step 7 differ if you replace dplyr left_join() with inner_join()? Why? Save your R script and forward to your instructor. 1.16 Review Given what you now know about R, try to answer the following questions: Can you think of a situation where an existing hypothesis or conventional wisdom was not repeatable? What are packages? What is GitHub? Where can you get help? What is a data frame? What are 3 ways you can manipulate a data frame? 1.17 Additional Reading (Introduction) Introductory R Books R for Data Science RStudio Cheatsheets Quick-R Advanced DSM R Books Predictive Soil Mapping with R Using R for Digital Soil Mapping (not free) Soil Spectral Inference with R (not free) GSP SOC Cookbook GSP SAS Manual Soil Science R Applications aqp and soilDB tutorials ISRIC World Soil Information Example Training Courses ISRIC World Soil Information YouTube Channel OpenGeoHub Courses OpenGeoHub YouTube Channel David Rossiter’s Cornell Homepage Pierre Roudier Soil Sciences and Statistics Review Articles Arkely, R., 1976. Statistical Methods in Soil Classification Research. Advances in Agronomy 28:37-70. https://www.sciencedirect.com/science/article/pii/S0065211308605520 Mausbach, M., and L. Wilding, 1991. Spatial Variability of Soils and Landforms. Soil Science Society of America, Madison. https://dl.sciencesocieties.org/publications/books/tocs/sssaspecialpubl/spatialvariabil Wilding, L., Smeck, N., and G. Hall, 1983. Spatial Variability and Pedology. In : L. Widling, N. Smeck, and G. Hall (Eds). Pedogenesis and Soil Taxonomy I. Conceps and Interactions. Elseiver, Amsterdam, pp. 83-116. https://www.sciencedirect.com/science/article/pii/S0166248108705993 References Arnold, R. W., and L. P. Wilding. 1991. “The Need to Quantify Spatial Variability.” In SSSA Special Publications, edited by M. J. Mausbach and L. P. Wilding, 1–8. Madison, WI, USA: Soil Science Society of America. https://doi.org/10.2136/sssaspecpub28.c1. Brevik, Eric C., Jeffrey A. Homburg, Bradley A. Miller, Thomas E. Fenton, James A. Doolittle, and Samuel J. Indorante. 2016. “Selected Highlights in American Soil Science History from the 1980s to the Mid-2010s.” CATENA 146 (November): 128–46. https://doi.org/10.1016/j.catena.2016.06.021. Chaney, Nathaniel W., Eric F. Wood, Alexander B. McBratney, Jonathan W. Hempel, Travis W. Nauman, Colby W. Brungard, and Nathan P. Odgers. 2016. “POLARIS: A 30-Meter Probabilistic Soil Series Map of the Contiguous United States.” Geoderma 274: 54–67. https://doi.org/10.1016/j.geoderma.2016.03.025. Hennemann, G R, and D G Rossiter. 2004. “Training Needs for the Next Generation of Soil Surveyors.” In International Conference on Innovative Techniques in Soil Survey, Cha’am, Thailand, 21-26 March 2004, 22–26. Cha-Am, Thailand: Land Development Department. http://www.css.cornell.edu/faculty/dgr2/Docs/ChaAm/ChaAmKeynoteHennemann.pdf. Ihaka, Ross, and Robert Gentleman. 1996. “R: A Language for Data Analysis and Graphics.” Journal of Computational and Graphical Statistics 5 (3): 299–314. https://doi.org/10.1080/10618600.1996.10474713. Kempen, Bas, Dick J. Brus, Jetse J. Stoorvogel, Gerard B. M. Heuvelink, and Folkert de Vries. 2012. “Efficiency Comparison of Conventional and Digital Soil Mapping for Updating Soil Maps.” Soil Science Society of America Journal 76 (6): 2097–2115. https://doi.org/https://doi.org/10.2136/sssaj2011.0424. MacMillan, Robert A., David E. Moon, and Ray A. Coupé. 2007. “Automated Predictive Ecological Mapping in a Forest Region of b.c., Canada, 2001–2005.” Geoderma 140 (4): 353–73. https://doi.org/10.1016/j.geoderma.2007.04.027. Mausbach, M. J. 2003. “The Importance of Statistical Documentation - Keeping Soil Survey Information Relevant in the 21st Century.” In 2003 National Cooperative Soil Survey Conference, 3–6. Plymouth, Massachusetts: National Cooperative Soil Survey. https://web.archive.org/web/20220121020421/https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs142p2_051833.pdf. Maynard, Jonathan J., Travis W. Nauman, Shawn W. Salley, Brandon T. Bestelmeyer, Michael C. Duniway, Curtis J. Talbot, and Joel R. Brown. 2019. “Digital Mapping of Ecological Land Units Using a Nationally Scalable Modeling Framework.” Soil Science Society of America Journal 83 (3): 666–66. https://doi.org/10.2136/sssaj2018.09.0346. Ramcharan, Amanda, Tomislav Hengl, Travis Nauman, Colby Brungard, Sharon Waltman, Skye Wills, and James Thompson. 2018. “Soil Property and Class Maps of the Conterminous United States at 100-Meter Spatial Resolution.” Soil Science Society of America Journal 82 (1): 186–201. https://doi.org/https://doi.org/10.2136/sssaj2017.04.0122. "],["data.html", "Chapter 2 The Data We Use 2.1 Objectives (The Data We Use) 2.2 The Structure of Soil Data 2.3 Challenges with Pedon Data 2.4 The SoilProfileCollection 2.5 Exercise 1: Assemble a SoilProfileCollection from several CSV files 2.6 Using the soilDB Package 2.7 Working with Data in R 2.8 Exercise 2: Generalized Horizons with Loafercreek 2.9 fetchNASIS() data checks 2.10 Extended Data Functions 2.11 Exercise 3: Diagnostic Horizons in Your Own Data 2.12 Custom Queries to Local NASIS Database", " Chapter 2 The Data We Use 2.1 Objectives (The Data We Use) Expand on basic R skills from Chapter 1 Inspect and work with different data types Perform operations on data such as filtering and aggregation Begin to explore regular expression (regex) patterns for text data Learn how functions can be used to bundle operations Work with Soil Data Sources and Structures Use the soilDB package to load data into R Understand the SoilProfileCollection (SPC) object Learn about the data checks in the fetchNASIS() function 2.2 The Structure of Soil Data What if you could extract, organize, and visualize data from NASIS and many other commonly used soil database sources with a couple of lines of code? The aqp (Algorithms for Quantitative Pedology) and soilDB packages enable data to be fetched from various sources and cast into a SoilProfileCollection (SPC) object. Tabular and spatial data objects fetched via soilDB and processed using aqp methods can simplify the process of working with commonly used soil data. 2.2.1 Package References Package ‘aqp’ manual Package ‘soilDB’ manual Package ‘sharpshootR’ manual SoilProfileCollection Object Introduction Tutorials on the AQP website The manual pages for soilDB and aqp are accessible (click index at the bottom of the Help tab in RStudio) by entering the following into the R console: # load the libraries library(aqp) library(soilDB) 2.2.2 Importance of Pedon Data The importance of pedon data for present and future work cannot be overstated. These data represent decades of on-the-ground observations of the soil resource for a given area. As difficult as it may be to take the time to enter legacy pedon data, it is vitally important that we capture this resource and get these data into NASIS as an archive of point observations. 2.2.3 Some Issues With Pedon Data Making and documenting observations of soil requires hard work. Digging is difficult, and writing soil descriptions is time consuming! Our confidence in observations typically weakens with the depth of the material described. If we acknowledge this, which we must, then how do we deal with it in pedon data? Use a cutoff depth, for example 100 cm, can be used to truncate observations to a zone of greater confidence. Show the relative confidence of the data with depth. 2.3 Challenges with Pedon Data Consistency Missing data Confidence in the observations Uncertainty with depth Description style differences Depth described, horizonation usage styles Legacy data vintage Decadal span of data Taxonomy updates, horizon nomenclature changes Location confidence Origin of the location information Datum used for data collection Accuracy for GPS values at the time of data collection 2.4 The SoilProfileCollection The SoilProfileCollection class (SPC) provided by the aqp package is a specialized structure for soil data analysis. It simplifies the process of working with collections of data associated with soil profiles, e.g., site-level, horizon-level, spatial, diagnostic horizons, and other metadata. A SoilProfileCollection is similar to the NASIS Site/Pedon “object” in that it provides generalizations, specific routines and rules about data tables and their relationships. The SoilProfileCollection is an S4 R object. S4 objects have slots. Of primary importance, are the slots for site-level and horizon-level data. In many ways the SPC is more adaptable than the NASIS “Pedon” concept because it is more general. However, the SPC is not as expressive as the complex hierarchy of objects in NASIS, which are more aligned with data archival vs. analysis. 2.4.1 SoilProfileCollection methods Many “familiar” methods are defined for the SoilProfileCollection object. Some are unique, and others operate like more common functions of vector and data.frame objects, such as nrow() (“how many horizons?”) or length() (“how many sites/pedons?”). Perhaps most importantly, when you access the site data (with site(<object>)) or the horizon data (with horizons(<object>)) of a SoilProfileCollection, you get a data.frame object that you can use like any other you might use or make in R. 2.4.1.1 Promoting a data.frame to SoilProfileCollection The SoilProfileCollection object is a collection of 1-dimensional profile descriptions, of the type conventionally described on a Form 232, or of tabular data returned from laboratory. The object is “horizon data forward” in that you start with the layers, and can add or create site-level attributes by normalization, joins, and calculation. Most of the time if you are using your NASIS data, or an official database, there are defined ways of getting the data “into” an SPC. For example, fetchOSD returns a SoilProfileCollection that has been assembled from horizon and site level attributes gleaned from the OSDs text, Soil Classification database, and other sources. In the pre-course, we had you set up a process so you could connect to your local NASIS instance to “fetch” data and have methods like fetchNASIS put things together for you. This input to make a SoilProfileCollection can be represented most simply as a data.frame with unique site or profile ID and depth combinations for each horizon or layer–for example, a subset of the phorizon or chorizon table in NASIS. A simple demonstration of “tabular horizon data” is the sp4 data set bundled with aqp: some serpentine soil profiles stored in a data.frame in the aqp package (after McGahan et al., 2009). library(aqp) # Load sample serpentine soil data (McGahan et al., 2009) data(sp4, package = "aqp") # this is a data.frame # same as if loaded from CSV file etc. class(sp4) ## [1] "data.frame" # inspect the first couple of rows head(sp4) ## id name top bottom K Mg Ca CEC_7 ex_Ca_to_Mg sand silt clay CF ## 1 colusa A 0 3 0.3 25.7 9.0 23.0 0.35 46 33 21 0.12 ## 2 colusa ABt 3 8 0.2 23.7 5.6 21.4 0.23 42 31 27 0.27 ## 3 colusa Bt1 8 30 0.1 23.2 1.9 23.7 0.08 40 28 32 0.27 ## 4 colusa Bt2 30 42 0.1 44.3 0.3 43.0 0.01 27 18 55 0.16 ## 5 glenn A 0 9 0.2 21.9 4.4 18.8 0.20 54 20 25 0.55 ## 6 glenn Bt 9 34 0.3 18.9 4.5 27.5 0.20 49 18 34 0.84 To convert this horizon data into a SoilProfileCollection, we need to identify three parameters: idname, top, and bottom. These parameters refer to the columns of unique profile IDs, top depths and bottom depths, respectively. There are a couple of important constraints and considerations: records (rows) represent horizons profiles are uniquely identified by a column (user pedon ID, pedon record ID, etc.) profiles IDs cannot contain missing values (NA) horizon top and bottom depths are identified by columns ideally there are no gaps, overlap, or missing top/bottom depths (more on that later) Use a formula to specify column names in the data.frame, in this case \"id\", \"top\" and \"bottom\". # profile ID ~ top depth + bottom depth depths(sp4) <- id ~ top + bottom # note new class class(sp4) ## [1] "SoilProfileCollection" ## attr(,"package") ## [1] "aqp" # compact summary sp4 ## SoilProfileCollection with 10 profiles and 30 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 16 - 49 cm ## ## ----- Horizons (6 / 30 rows | 10 / 14 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## colusa 3 8 30 Bt1 0.1 23.2 1.9 23.7 0.08 ## colusa 4 30 42 Bt2 0.1 44.3 0.3 43.0 0.01 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## [... more horizons ...] ## ## ----- Sites (6 / 10 rows | 1 / 1 columns) ----- ## id ## colusa ## glenn ## kings ## mariposa ## mendocino ## napa ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] The formula expresses the idea that a profile id defined by set of top and bottom depths. NOTE: A character vector with same names has the same effect, and can be easier to “program” with than the formula-based syntax. depths(sp4) <- c("id", "top", "bottom") 2.4.2 Promoting to “Spatial” SoilProfileCollection You can also use the SoilProfileCollection to manage the information about a profile’s position on the Earth. Chapter 4 will cover spatial data in greater detail, and the SoilProfileCollection Reference has a section on Spatial Data. For now know you can use the initSpatial<- method to define “X” and “Y” coordinate columns and the coordinate reference system in one line: sp4$x <- runif(10); sp4$y <- runif(10) # dummy XY coordinates initSpatial(sp4, crs = "EPSG:4326") <- ~ x + y This is new syntax introduced in aqp 2.0, the older syntax uses the coordinates<- and proj4string<- methods. 2.4.2.1 Extracting Site and Horizon Data You can extract values from the collection’s @site and @horizon slots using the site() and horizons() functions. These create data.frame objects that are separate from the SoilProfileCollection. # extract site data from SPC into new data.frame 's' # note that it only contains profile IDs s <- site(sp4) str(s) ## 'data.frame': 10 obs. of 1 variable: ## $ id: chr "colusa" "glenn" "kings" "mariposa" ... # extract horizon data from SPC into new data.frame 'h' h <- horizons(sp4) str(h) ## 'data.frame': 30 obs. of 14 variables: ## $ id : chr "colusa" "colusa" "colusa" "colusa" ... ## $ name : chr "A" "ABt" "Bt1" "Bt2" ... ## $ top : int 0 3 8 30 0 9 0 4 13 0 ... ## $ bottom : int 3 8 30 42 9 34 4 13 40 3 ... ## $ K : num 0.3 0.2 0.1 0.1 0.2 0.3 0.2 0.6 0.8 0.6 ... ## $ Mg : num 25.7 23.7 23.2 44.3 21.9 18.9 12.1 12.1 17.7 28.3 ... ## $ Ca : num 9 5.6 1.9 0.3 4.4 4.5 1.4 7 4.4 5.8 ... ## $ CEC_7 : num 23 21.4 23.7 43 18.8 27.5 23.7 18 20 29.3 ... ## $ ex_Ca_to_Mg: num 0.35 0.23 0.08 0.01 0.2 0.2 0.58 0.51 0.25 0.2 ... ## $ sand : int 46 42 40 27 54 49 43 36 27 42 ... ## $ silt : int 33 31 28 18 20 18 55 49 45 26 ... ## $ clay : int 21 27 32 55 25 34 3 15 27 32 ... ## $ CF : num 0.12 0.27 0.27 0.16 0.55 0.84 0.5 0.75 0.67 0.25 ... ## $ hzID : chr "1" "2" "3" "4" ... 2.4.2.2 Methods like data.frame The base R functions for accessing and setting data.frame columns by name such as $ and [[ work for SoilProfileCollection objects, too. Review data.frame methods: [[ and $: single columns in data.frame, by name x[['variable']] x$variable [: combinations of rows and columns, by name or index x[i, ]: specified rows, all columns x[, j]: all rows, specified columns x[i, j]: specified rows, specified columns See Chapter 1 and the Chapter 2 Appendix for additional details and examples. 2.4.2.2.1 Column Access by Name: $ and [[ # sp4 is a SoilProfileCollection sp4$clay ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 sp4[['clay']] ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 # horizon data.frame h$clay ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 h[['clay']] ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 # use $<- or [[<- to set proportional clay content sp4$clay <- sp4[['clay']] / 100 # undo what we did above; back to percentage sp4[['clay']] <- sp4$clay * 100 # create new site variable ("numberone" recycled for all sites) site(sp4)$newvar1 <- "numberone" # create new horizon variable ("numbertwo" recycled for all horizons) horizons(sp4)$newvar2 <- "numbertwo" 2.4.2.2.2 Row Access: [ The SoilProfileCollection also has [ (“single bracket”), but with a different interpretation from the [i, j] indexing of data.frame objects. In a data.frame you have object[row, column, drop=TRUE]; the result is a data.frame (or a vector with default drop=TRUE). In a SoilProfileCollection you have object[site, horizon]; the result is a SoilProfileCollection. # i-index: first 2 profiles, all horizons sp4[1:2, ] ## SoilProfileCollection with 2 profiles and 6 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 34 - 42 cm ## ## ----- Horizons (6 / 6 rows | 10 / 15 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## colusa 3 8 30 Bt1 0.1 23.2 1.9 23.7 0.08 ## colusa 4 30 42 Bt2 0.1 44.3 0.3 43.0 0.01 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## ## ----- Sites (2 / 2 rows | 2 / 2 columns) ----- ## id newvar1 ## colusa numberone ## glenn numberone ## ## Spatial Data: ## [EMPTY] # j-index: all profiles; first 2 horizons of each profile sp4[, 1:2] ## SoilProfileCollection with 10 profiles and 20 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 5 - 40 cm ## ## ----- Horizons (6 / 20 rows | 10 / 15 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## kings 7 0 4 A 0.2 12.1 1.4 23.7 0.58 ## kings 8 4 13 Bt1 0.6 12.1 7.0 18.0 0.51 ## [... more horizons ...] ## ## ----- Sites (6 / 10 rows | 2 / 2 columns) ----- ## id newvar1 ## colusa numberone ## glenn numberone ## kings numberone ## mariposa numberone ## mendocino numberone ## napa numberone ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] When you use the [ function, everything in the SoilProfileCollection is subset simultaneously depending on the constraints specified by the indices. # First profile, first 2 horizons horizons(sp4[1, 1:2]) ## id name top bottom K Mg Ca CEC_7 ex_Ca_to_Mg sand silt clay CF hzID newvar2 ## 1 colusa A 0 3 0.3 25.7 9.0 23.0 0.35 46 33 21 0.12 1 numbertwo ## 2 colusa ABt 3 8 0.2 23.7 5.6 21.4 0.23 42 31 27 0.27 2 numbertwo All slots in the collection have a relationship to the site or i-index. When you remove sites (profiles), all associated records (e.g. spatial, diagnostics, horizons, etc.) in the object are removed. Similarly, when all horizons are removed (say, you request the 6th j-index from a profile that has only 5 layers), the site index and all associated data are removed from the collection. 2.5 Exercise 1: Assemble a SoilProfileCollection from several CSV files Link to exercise R code Questions: Run the code in the linked R file and answer these questions. How many profiles (sites) and horizons are in the granite SoilProfileCollection? How many in andesite? See length() and nrow() functions for SoilProfileCollection objects. Which profile (and which horizon in that profile) has the highest ratio of oxalate-extractable Fe to dithionite-citrate-extractable Fe (Fe_o_to_Fe_d)? Send the results of questions (and any code you used) to your mentor. 2.6 Using the soilDB Package The soilDB package for R provides functions for accessing data stored in NASIS, KSSL, SDA, SoilWeb, SoilGrids and other sources. These high-level ‘fetch’ functions bundle or wrap lower-level get functions which access internal database interfaces to NASIS and other data sources. The ODBC connection to NASIS that you set up during the pre-course is an example of this internal database interface. Basic data checks are run within fetch functions. These checks ensure the basic integrity of the data as it is queried and moved from its existing structure into an SPC. There are times when it is useful to use the lower-level get functions individually. They generally return single data.frame or list of data.frame. You can set up scripts to make custom queries against these or other sources on your own – there is an example at the end of this section. For now, we will start with the fetch functions and others that will get you a large variety of data you can use for soil and ecological site analyses. 2.6.1 soilDB functions for tabular data soilDB functions are the quickest way to get up and running: fetchNASIS() Gets and re-packages data from a local NASIS database. soilDB Vignette Columns in fetchNASIS(from=\"pedons\") fetchVegdata() Gets Vegetation Plot and related/child tables into a list from a local NASIS database. fetchNASISLabData() Gets KSSL laboratory pedon/horizon layer data from a local NASIS database. fetchNASISWebReport() SDA_query() Can be used to access SSURGO, STATSGO (spatial and tabular), and Lab DataMart snapshots Submits queries to the Soil Data Access system. Soil Data Access Tutorial SDA and Spatial Data SDA and Interpretations fetchLDM() Gets KSSL data from the Lab Data Mart snapshot in Soil Data Access fetchSDA() Fetches legend/mapunit/component/horizon data from Soil Data Access. fetchKSSL() Gets KSSL data from the SoilWeb system via BBOX, MLRA, or series name query. KSSL Data Demo Water Retention Curve Development from KSSL Data fetchOSD() Fetches a limited subset of horizon- and site-level attributes for named soil series from the SoilWeb system. Querying Soil Series Data OSDquery() Full-text searching of OSD sections. Querying Soil Series Data fetchSCAN() Queries soil and climate data from USDA-NRCS SCAN Stations. A Unified Interface to SCAN/SNOTEL Data fetchHenry() Downloads data from the Henry Mount Soil Climate Database. Henry Mount Soil Climate Database Tutorial fetchPedonPC() Fetches commonly used site and horizon data from a PedonPC (MS Access) database. 2.6.2 Open Database Connectivity (ODBC) Connection to NASIS After setting up an ODBC connection, as you did as part of the pre-course, you can use R to access data from a selected set defined in your local NASIS database. How to Create an ODBC Connection to local NASIS database for R. Does NASIS need to be open and running to query data using soilDB? No, fetchNASIS() works whether the NASIS application is running or not. You just need to make sure that the data you want has been loaded into your selected set. 2.6.3 fetchNASIS() The fetchNASIS() convenience function extracts data from a NASIS selected set via Structured Query Language (SQL). Note that the import process in fetchNASIS(), and the other methods, is not comprehensive. It does not pull every column for every table related to pedon data out of NASIS. Instead, it pulls essential / commonly used pedon and horizon data. Higher level functions like fetchNASIS() bundle a series of lower-level queries to get specific parts of the Pedon or Component data structures. Much of the nested complexity of NASIS is simplified in the resulting object. Many-to-one relationships are “flattened” where possible by fetchNASIS(). This aggregates the data from various tables into one “site” record with related horizon records, per profile. You can see the child tables that are aggregated using the get_extended_data_from_NASIS() method, which returns a named list of child table sources that can be joined to the SoilProfileCollection made with fetchNASIS() using the internal record IDs. 2.6.3.1 fetchNASIS arguments fetchNASIS() has a number of different arguments: from = ‘pedons’ or ‘components’ or ‘pedon_report’ This option allows you to select which data you want to load from NASIS. Choosing either ‘pedons’ or ‘components’ will load data from your local database. If ‘pedon_report’ is specified then it will load data from the text file generated by the NASIS report ‘fetchNASIS’ (run offline). This is useful for loading more than 20,000 pedons at one time, such for an entire Soil Survey Region. url = string specifying the (temporary) URL for the NASIS pedon_report output generated by the fetchNASIS NASIS Report that can be run “Offline Against National Database” EXAMPLE OUTPUT (MT663) SS = TRUE/FALSE The Selected Set (SS) option allows you to choose whether you want the data to load from your current selected set in NASIS or from the local database tables. The default is set to TRUE so if unspecified fetchNASIS() will always load from the data in the selected set. stringAsFactors = NULL This option is no longer used. See soilDB::NASISDomainsAsFactor() rmHzErrors = TRUE/FALSE Setting this value to TRUE removes pedons that do not pass checks for horizon depth consistency. Default: FALSE nullFragsAreZero = TRUE/FALSE Setting this value to TRUE (the default) converts null entries for rock fragment volumes to 0. This is typically the right assumption because rock fragment data are typically populated only when observed. If you know that your data contain a combination of omitted information (e.g. no rock fragment volumes are populated) then consider setting this argument to FALSE. soilColorState = ‘moist’ or ‘dry’ Select dry or moist colors to be converted and placed into a horizon-level attribute called soil_color. The default is set to ‘moist’ unless specified. Moist and dry colors are also stored in moist_soil_color and dry_soil_color. lab = TRUE/FALSE This option allows for loading the data associated with horizons that may be in the phlabresults table. The default is set to FALSE, which will not load records from the phlabresults table. fill = TRUE/FALSE This option adds horizons to pedons or components that lack horizon data in the database, preserving their “position” within the output SoilProfileCollection object. Default is FALSE such that profiles without horizons are omitted from the result. dropAdditional = TRUE/FALSE Used only for from='components' with duplicates = TRUE. Prevent “duplication” of mustatus == \"additional\" mapunits? Default: TRUE dropNonRepresentative = TRUE/FALSE Used only for from='components' with duplicates = TRUE. Prevent “duplication” of non-representative data mapunits? Default: TRUE duplicates = FALSE Used only for from='components'. Duplicate components for all instances of use (i.e. one for each legend data mapunit is used on; optionally for additional mapunits, and/or non-representative data mapunits?). This will include columns from get_component_correlation_data_from_NASIS_db() that identify which legend(s) each component is used on. NOTE: This requires that parent tables above “component” (such as legend, mapunit, correlation and datamapunit) are loaded in your NASIS database/selected set. dsn = NULL Optional: custom path to an SQLite snapshot or DBIConnection object to database with NASIS schema. See soilDB::createStaticNASIS(). For more information on the data checks and adjusting the default options to fetchNASIS() function, see the following resource: Tips on Getting Data from NASIS into R. 2.6.4 The gopheridge Dataset The gopheridge sample data set is a sample R object returned from fetchNASIS() in a self-contained .rda file stored in soilDB. Open RStudio, and set up the environment by loading packages and the gopheridge sample dataset. library(aqp) library(soilDB) # load example dataset data(gopheridge, package = "soilDB") # what kind of object is this? class(gopheridge) ## [1] "SoilProfileCollection" ## attr(,"package") ## [1] "aqp" # what does the internal structure look like? str(gopheridge, 2) ## Formal class 'SoilProfileCollection' [package "aqp"] with 8 slots ## ..@ idcol : chr "peiid" ## ..@ hzidcol : chr "phiid" ## ..@ depthcols : chr [1:2] "hzdept" "hzdepb" ## ..@ metadata :List of 6 ## ..@ horizons :'data.frame': 317 obs. of 73 variables: ## ..@ site :'data.frame': 52 obs. of 142 variables: ## ..@ diagnostic :'data.frame': 164 obs. of 4 variables: ## ..@ restrictions:'data.frame': 56 obs. of 8 variables: There are many columns in the data.frame objects within a fetchNASIS() SoilProfileCollection. The following guide is part of the soilDB documentation and describes the columns that are returned from a fetchNASIS(from=\"pedons\") call. In the future this guide will be extended to describe component data. fetchNASIS(from=“pedons”) column description guide With siteNames() and horizonNames() we can view the names for eachslot respectively in the gopheridge object. # the fields at the site and horizon levels within the SPC siteNames(gopheridge) ## [1] "peiid" "siteiid" "ecositeid" ## [4] "ecositenm" "ecositecorrdate" "es_classifier" ## [7] "siteecositehistory.classifier" "es_selection_method" "pedon_id" ## [10] "siteobsiid" "site_id" "obs_date" ## [13] "utmzone" "utmeasting" "utmnorthing" ## [16] "horizdatnm" "x_std" "y_std" ## [19] "longstddecimaldegrees" "latstddecimaldegrees" "gpspositionalerror" ## [22] "describer" "pedonpurpose" "pedontype" ## [25] "pedlabsampnum" "labdatadescflag" "tsectstopnum" ## [28] "tsectinterval" "utransectid" "tsectkind" ## [31] "tsectselmeth" "elev_field" "slope_field" ## [34] "aspect_field" "plantassocnm" "earthcovkind1" ## [37] "earthcovkind2" "erocl" "bedrckdepth" ## [40] "bedrckkind" "bedrckhardness" "pmgroupname" ## [43] "hillslopeprof" "geomslopeseg" "shapeacross" ## [46] "shapedown" "slopecomplex" "drainagecl" ## [49] "geomposhill" "geomposmntn" "geompostrce" ## [52] "geomposflats" "swaterdepth" "flodfreqcl" ## [55] "floddurcl" "flodmonthbeg" "pondfreqcl" ## [58] "ponddurcl" "pondmonthbeg" "climstaid" ## [61] "climstanm" "climstatype" "ffd" ## [64] "map" "reannualprecip" "airtempa" ## [67] "soiltempa" "airtemps" "soiltemps" ## [70] "airtempw" "soiltempw" "surface_fine_gravel" ## [73] "surface_gravel" "surface_cobbles" "surface_stones" ## [76] "surface_boulders" "surface_channers" "surface_flagstones" ## [79] "surface_parafine_gravel" "surface_paragravel" "surface_paracobbles" ## [82] "surface_parastones" "surface_paraboulders" "surface_parachanners" ## [85] "surface_paraflagstones" "surface_unspecified" "surface_total_frags_pct_nopf" ## [88] "surface_total_frags_pct" "site_state" "site_county" ## [91] "site_mlra" "slope_shape" "surface_fgravel" ## [94] "classdate" "classifier" "classtype" ## [97] "taxonname" "localphase" "taxonkind" ## [100] "seriesstatus" "taxclname" "taxpartsize" ## [103] "taxorder" "taxsuborder" "taxgrtgroup" ## [106] "taxsubgrp" "soiltaxedition" "osdtypelocflag" ## [109] "taxmoistcl" "taxtempregime" "taxfamother" ## [112] "taxreaction" "taxfamhahatmatcl" "psctopdepth" ## [115] "pscbotdepth" "selection_method" "ochric.epipedon" ## [118] "argillic.horizon" "paralithic.contact" "lithic.contact" ## [121] "cambic.horizon" "paralithic.materials" "abrupt.textural.change" ## [124] "mollic.epipedon" "umbric.epipedon" "lithologic.discontinuity" ## [127] "calcic.horizon" "petrocalcic.horizon" "natric.horizon" ## [130] "gypsic.horizon" "secondary.carbonates" "agric.horizon" ## [133] "slickensides" "marl" "melanic.epipedon" ## [136] "albic.horizon" "landform_string" "landscape_string" ## [139] "microfeature_string" "geomicrorelief_string" "pmkind" ## [142] "pmorigin" horizonNames(gopheridge) ## [1] "phiid" "peiid" "hzname" "genhz" ## [5] "hzdept" "hzdepb" "bounddistinct" "boundtopo" ## [9] "clay" "silt" "sand" "fragvoltot" ## [13] "texture" "texcl" "lieutex" "phfield" ## [17] "effclass" "labsampnum" "rupresblkdry" "rupresblkmst" ## [21] "rupresblkcem" "stickiness" "plasticity" "ksatpedon" ## [25] "texture_class" "hzID" "d_r" "d_g" ## [29] "d_b" "d_hue" "d_value" "d_chroma" ## [33] "d_sigma" "m_r" "m_g" "m_b" ## [37] "m_hue" "m_value" "m_chroma" "m_sigma" ## [41] "moist_soil_color" "dry_soil_color" "soil_color" "fine_gravel" ## [45] "gravel" "cobbles" "stones" "boulders" ## [49] "channers" "flagstones" "parafine_gravel" "paragravel" ## [53] "paracobbles" "parastones" "paraboulders" "parachanners" ## [57] "paraflagstones" "unspecified" "total_frags_pct_nopf" "total_frags_pct" ## [61] "art_fgr" "art_gr" "art_cb" "art_st" ## [65] "art_by" "art_ch" "art_fl" "art_unspecified" ## [69] "total_art_pct" "huartvol_cohesive" "huartvol_penetrable" "huartvol_innocuous" ## [73] "huartvol_persistent" 2.6.4.1 Make profile sketches The plotSPC() or plot() function applied to a SoilProfileCollection object generates sketches based on horizon depths, designations, and colors. The SoilProfileCollection Reference contains many examples demonstrating way in which these sketches can be customized. The fetchNASIS() function automatically converts moist Munsell colors into R-style colors, available in the soil_color horizon level attribute. An approximate color mixture is used when multiple colors per horizon are present. See ?plotSPC for a detailed list of arguments and examples. The Soil Profile Sketches tutorial contains additional examples that demonstrate various ways to customize soil profile sketches. par(mar = c(1, 1, 1, 1)) # omitting pedon IDs and horizon designations plotSPC(gopheridge, print.id = FALSE, name = NA, width = 0.3) title('Pedons from the `gopheridge` sample dataset', line = -0.5) Additional examples / documentation related to soil profile sketches: OSD Dendrogram tutorial Visualization of Horizon Boundaries tutorial SoilProfileCollection Reference Competing Series tutorial Pair-Wise Distances by Generalized Horizon Labels tutorial 2.6.4.2 Pedon Data Checks When you load pedons using the fetchNASIS() function, the following data checks are performed: Presence of multiple map datums. Results reported to the user and the data are not modified. Inconsistent horizon boundaries. Pedons with inconsistent horizon boundaries are not loaded unless rmHzErrors = FALSE. In most cases, this occurs when the bottom depth of a horizon is not the same as the upper depth of the next lower horizon. ## hzname top bot ## 1 A 0 30 ## 2 Bt1 38 56 ## 3 Bt2 56 121 ## 4 Bk 121 135 ## 5 R 135 NA Note the issue above. The bottom depth of the A horizon and the upper depth of the Bt1 horizon should be the same: either 30 or 38 cm. The correct depth needs to be determined and fixed in the database. Missing lower horizon depths. Offending horizons are fixed by replacing the missing bottom depth with the top depth plus 2 cm. In the case of the profile shown above, a bottom depth of 137 cm would be inserted where the depth is missing. Sites missing pedon records. Data without corresponding horizons are not loaded. 2.6.4.3 Find Pedons with Errors If errors in the pedon data are detected when loading data using fetchNASIS(), the following “get” commands can trace them back to the corresponding records in NASIS. These access an option that is stored in a special object called an Environment associated with the soilDB package – they generally contain vectors of IDs. get('sites.missing.pedons', envir = soilDB.env) Returns user site ID for sites missing pedons get('dup.pedon.ids', envir = soilDB.env) Returns user pedon ID for sites with duplicate pedon ID get('bad.pedon.ids', envir = soilDB.env) Returns user pedon ID for pedons with inconsistent horizon depths get('bad.horizons', envir = soilDB.env) Returns a data.frame of horizon-level information for pedons with inconsistent horizon depths get('sites.missing.pedons', envir = soilDB.env) get('dup.pedon.ids', envir = soilDB.env) get('bad.pedon.ids', envir = soilDB.env) get('bad.horizons', envir = soilDB.env) These get() calls access variables stored in the package environment soilDB.env. The variables only exist if there are “problems” / values found by the data checks – and if you fix the errors in the NASIS database and the checks don’t find any errors then nothing will be returned by these functions. 2.6.5 Further Reading / Reference The SoilProfileCollection Reference contains examples based on the sp4 sample dataset. This is a good exercise for the class and reference for future work. The Querying Soil Series Data document contains a more detailed explanation of how the data behind fetchOSD were created and how to interpret its results. The Competing Soil Series document contains a number of examples related to getting OSD morphology using fetchOSD, laboratory data using fetchKSSL, and summary via profile sketches and slice-wise aggregation. The “SPC Plotting Ideas” document outlines some advanced techniques for arranging and annotating soil profile sketches. Several examples pertaining to SDA, soil texture, and soil profile sketches are explored in this Random Walk 001. 2.7 Working with Data in R 2.7.1 Summaries Now that you’ve loaded some data, you can look at additional ways to summarize and interact with data elements. 2.7.1.1 table() and Cross Tabulation The base R table() function is very useful for quick summary operations. It returns a named vector with the amount of each unique level of the a given vector. The numeric vector of “counts” is commonly combined with other functions such as sort(), order(), prop.table(), is.na() to identify abundance, proportions, or missing data (NA). # load required packages library(aqp) library(soilDB) data("gopheridge", package = "soilDB") # for these examples, we use the gopheridge object as our "selected set" pedons <- gopheridge ## you can use fetchNASIS to load your own data, like this: # pedons <- fetchNASIS() # summarize which soil taxa we have loaded table(pedons$taxonname) ## ## Gopheridge ## 52 # sort taxonomic names in descending order sort(table(pedons$taxonname), decreasing = TRUE) ## Gopheridge ## 52 # could do the same thing for taxonomic subgroups table(pedons$taxsubgrp) ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 1 6 44 1 sort(table(pedons$taxsubgrp), decreasing = TRUE) ## ## ultic haploxeralfs typic haploxerepts mollic haploxeralfs ultic haploxerolls ## 44 6 1 1 We can convert counts in the table() result into proportions with prop.table(): prop.table(table(pedons$taxsubgrp)) ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 0.01923077 0.11538462 0.84615385 0.01923077 table() can be used to get counts over multiple dimensions of factor levels. We call this process cross tabulation. For instance, let’s cross tabulate taxonomic subgroup (taxsubgrp) and the particle size family class (taxpartsize) for pedons table(pedons$taxsubgrp, pedons$taxpartsize) ## ## clayey-skeletal coarse-loamy fine fine-loamy loamy-skeletal ## mollic haploxeralfs 0 0 0 0 1 ## typic haploxerepts 1 0 0 0 5 ## ultic haploxeralfs 2 0 1 1 40 ## ultic haploxerolls 0 1 0 0 0 As expected gopheridge the vast majority of pedons are Loamy-skeletal Ultic Haploxeralfs. Since pedons contains site and horizon level data, when cross-tabulating we need to be sure pair a column from the site data with other site-level columns, and the same for horizon-level. This is because all arguments to table() must have the same length. For example, let’s cross-tabulate horizon designation (hzname) with horizon texture class (texcl). We can use the addmargins() function to add the row and column sums to the margins of the table for easier interpretation when there are many rows/columns in the result. addmargins(table(pedons$hzname, pedons$texcl)) ## ## c cl l scl sic sicl sil sl Sum ## 2BCt5 0 1 0 0 0 0 0 0 1 ## 2Bt1 0 0 3 0 0 0 0 0 3 ## 2Bt2 1 2 1 1 0 0 0 0 5 ## 2Bt3 1 3 1 0 0 0 0 0 5 ## 2Bt4 2 0 0 0 0 0 0 0 2 ## 2CBt 0 0 0 1 0 0 0 0 1 ## 2Cr 0 0 0 0 0 0 0 0 0 ## 2Crt 0 0 0 0 0 0 0 0 0 ## 2R 0 0 0 0 0 0 0 0 0 ## A 0 0 33 0 0 0 12 3 48 ## A1 0 0 2 0 0 0 2 0 4 ## A2 0 0 2 0 0 0 2 0 4 ## A3 0 0 1 0 0 0 0 0 1 ## AB 0 0 2 0 0 0 2 0 4 ## BA 0 0 17 0 0 1 0 0 18 ## BC 0 0 4 0 0 0 0 0 4 ## BCt 0 2 2 1 0 0 1 0 6 ## Bt 0 0 1 1 1 0 0 0 3 ## Bt1 0 3 28 1 0 3 5 0 40 ## Bt2 3 15 14 1 1 3 1 0 38 ## Bt3 4 8 6 1 0 1 1 0 21 ## Bt4 1 2 2 0 0 0 0 0 5 ## Bw 0 0 6 0 0 0 1 0 7 ## Bw1 0 0 5 0 0 0 0 0 5 ## Bw2 0 0 5 0 0 0 0 0 5 ## Bw3 0 0 3 0 0 0 0 0 3 ## C 1 0 1 0 0 0 0 0 2 ## C/Brt 0 1 0 0 0 0 0 0 1 ## CBt 0 0 0 1 0 0 0 0 1 ## Cr 0 0 1 0 0 0 0 0 1 ## Crt 0 0 0 0 0 0 0 0 0 ## Ct 0 0 1 0 0 0 0 0 1 ## Oe 0 0 0 0 0 0 0 0 0 ## Oi 0 0 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 ## Sum 13 37 141 8 2 8 27 3 239 2.7.2 Missing Values table(pedons$taxsubgrp, useNA = "ifany") ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 1 6 44 1 # is.na(...) table(is.na(pedons$taxsubgrp)) ## ## FALSE ## 52 # is NOT NA !is.na(...) table(!is.na(pedons$taxsubgrp)) ## ## TRUE ## 52 # it can also be applied to horizon level columns in the SPC sort(table(pedons$texture), decreasing=TRUE) ## ## BR L GR-L GRV-L CBV-L SPM GRX-L SIL GRV-CL CBV-CL GR-SIL ## 58 36 33 24 18 14 12 12 9 8 7 ## CBX-L GRX-CL CBX-CL GRV-SIL CL GRV-SCL GRX-C MPM SL CB-L GR-CL ## 6 5 4 4 3 3 3 3 3 2 2 ## GRX-SCL PGR-C PGRX-L SICL STV-CL STV-L STX-C STX-L C CB-C CB-CL ## 2 2 2 2 2 2 2 2 1 1 1 ## CB-SCL CB-SIL CBV-SIL CBX-SCL CN-L CN-SICL CNX-L CNX-SICL FLV-L GR-C GR-SIC ## 1 1 1 1 1 1 1 1 1 1 1 ## GRV-SICL GRX-SIC GRX-SIL PCB-SICL PCBV-SICL PCN-C PCNX-CL PGRV-C PGRV-CL PGRX-SCL PGRX-SIL ## 1 1 1 1 1 1 1 1 1 1 1 ## ST-L STV-C STX-CL STX-SICL ## 1 1 1 1 2.7.3 Logical Operators Logical operators act on vectors for the purposes of comparison. == “EQUAL TO” != “NOT EQUAL TO” < LESS than LESS than or equal to <= > GREATER than GREATER than or equal to >= %in% Equivalent to IN () in SQL; same logic as match() but returns a boolean, not integer Example: pedons$taxpartsize %in% c('loamy-skeletal', 'sandy-skeletal') Returns a vector of TRUE/FALSE equal in length to left-hand side & logical AND | logical OR 2.7.4 Pattern Matching The following examples use the grep() function to pattern match within the data, create an index of the SoilProfileCollection for records that match the specified pattern within that column, and then use that index to filter to specific sites and their corresponding profiles. Patterns are specified using regular expression (REGEX) syntax. This process can be applied to many different columns in the SPC based on how you need to filter the data. This example pattern matches on the tax_subgroup column, but another useful application might be to pattern match on geomorphology or parent material. Say we want to see what the variation of particle size classes are within a specific subgroup? We can use grep() to create a row index, then apply that index to the SoilProfileCollection. # create a numeric index for pedons with taxsubgroup containing 'typic' idx <- grep('typic', pedons$taxsubgrp) idx ## [1] 11 12 13 14 26 50 # use square bracket notation to subset 'typic' soils in `subset1` object subset1 <- pedons[idx,] # or use the index directly to summarize taxpartsize for 'typic' soils sort(table(pedons$taxpartsize[idx]), decreasing = TRUE) ## ## loamy-skeletal clayey-skeletal ## 5 1 Note: grep() below has an invert argument (default FALSE). This option is very useful for excluding the results of the pattern matching process by inverting whatever the result is. grepl() is the logical version of grep(), so you can invert it using the logical NOT operator: !. Another method is to create an index using which() function. which() takes any logical vector (or expression), and it returns the indices (positions) where that expression returns TRUE. The use of which becomes more important when there are missing values (NA) in an expression. Do a graphical check to see the “typic” profiles are selected. Plot them in R using the SoilProfileCollection “plot” method (e.g., specialized version of the generic plot() function). # adjust margins par(mar=c(1,0,0,1)) # plot the first 10 profiles of subset1 plot(subset1[1:10, ], label = 'taxsubgrp', max.depth = 60) title('Pedons with the word "typic" at subgroup-level of Soil Taxonomy', line=-2) For more information on using regular expressions in grep() for pattern matching operations, see: Regular-expression-syntax. Quick check: Compare or run these commands with some code, and review the documentation, to answer the questions. True or False: grepl() returns a numeric vector True or False: which(grepl('typic', pedons$taxsubgrp)) is the same as grep('typic', pedons$taxsubgrp). 2.7.4.1 REGEX Quick Start . One character, any character * Zero-or-more Quantifier (of previous token) + One-or-more Quantifier (of previous token) {n} quantifier where n is the the number of a match “repeats” (of previous token) [A-Z!] ONE capital letter, or an exclamation mark [0-9]{2} TWO numbers (using { quantifier) | is equivalent to OR: Example: grep('loamy|sandy', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “loamy OR sandy” ^ Anchor to beginning of string / line: Example: grep('^sandy', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “STARTS WITH sandy” $ Anchor to end of string / line: Example: grep('skeletal$', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “ENDS WITH skeletal” \\\\b Anchor to word boundary: Example: grep('\\\\bmesic', c(\"mesic\",\"thermic\",\"isomesic\")) “WORD STARTS WITH mesic” (e.g. not “isomesic”) 2.7.4.2 Resources for Regular Expressions https://regex101.com/ & https://regexr.com/ - Online regular expression testers http://www.regular-expressions.info/quickstart.html - One-page regular expression quick start guide 2.7.5 Filtering A variety of methods are available to subset or “filter” R data objects, from a simple data.frame or vector, to something more complex like a Spatial object or a SoilProfileCollection. You can index many R objects using numeric or logical expressions as above. There are also methods that make this process a little easier. The base R method for this is subset() and it works on data.frame objects. It is nice because you can specify column names without explicitly referencing the data set, since subset uses non-standard evaluation of expressions passed as arguments. 2.7.5.1 Filtering with aqp::subset() We use the SoilProfileCollection subset method, where we first specify a data (pedons) object then we can write expressions for the columns that exist in that object. Here, we combine two logical expressions to find taxsubgrp containing \"alfs\" (Alfisols) with obsdate before January 1st, 2010. subset2 <- subset(pedons, grepl("alfs", taxsubgrp) & obs_date < as.POSIXlt("2010-01-01")) # check taxonomic range of particle size classes in the data # overwhelmingly these are described as loamy-skeletal ultic haploxeralfs sort(table(subset2$taxsubgrp), decreasing = TRUE) ## ## ultic haploxeralfs mollic haploxeralfs ## 28 1 sort(table(subset2$taxpartsize), decreasing = TRUE) ## ## loamy-skeletal clayey-skeletal fine fine-loamy ## 25 2 1 1 # check year described and taxpartsize table(subset2$taxpartsize, substr(subset2$obs_date, 0, 4)) ## ## 2007 2008 2009 ## clayey-skeletal 1 0 1 ## fine 1 0 0 ## fine-loamy 1 0 0 ## loamy-skeletal 19 1 5 # a double equal sign '==' is used for exact character or numeric criteria subset3 <- subset(subset2, taxpartsize == 'loamy-skeletal') table(subset3$taxpartsize) ## ## loamy-skeletal ## 25 par(mar = c(0, 0, 2, 1)) plotSPC(subset3[1:12, ], print.id = FALSE) title('Loamy-skeletal Ultic Haploxeralfs') 2.7.6 Dates and Times Dates and times use special object types in R. The Unix time, also known as “Posix time,” is a system for describing a point in time. Unix epoch is a whole number value that is the number of seconds elapsed since the 00:00:00 UTC on 1 January 1970 minus leap seconds. We can use logical comparison operators on dates and times if their string representation such as \"01/01/1970\" is converted to a common base R UNIX time representation known as POSIXlt or POSIXct. This conversion accounts for important things such as timezone using your computer’s locale–which is important to keep in mind. When converting to POSIX time several unambiguous (year-month-day) date time formats can be detected. For instance, if you want to convert a date in the common month-day-year format, you need to specify the format argument: as.POSIXct(24*60*60, origin = "1970-01-01", tz = "UTC") ## [1] "1970-01-02 UTC" By default the timezone will match your current timezone. Dates without times are treated as being at midnight UTC. You can customize the timezone with tz argument: as.POSIXlt("01/01/1970", tz = "UTC", format = "%m/%d/%Y") ## [1] "1970-01-01 UTC" POSIXlt and POSIXct objects can be formatted with the format() function. strptime() can be used to parse character vectors into date/times. You use as.POSIXlt() with character input, and as.POSIXct() with numeric input. R also has the Date class which can be used for formatting calendar dates. You can convert POSIXlt/POSIXct objects to Date with as.Date() 2.8 Exercise 2: Generalized Horizons with Loafercreek Here we will introduce the concept of using regular expressions to apply “Generalized Horizon Labels” based on the field soil description horizon designations. This demonstrates one way of grouping horizon data for determining the Range in Characteristics of layers within a Soil Series or a SSURGO component. Generalized Horizon Labels with Loafercreek For the exercise during class, we will give you some time to read over the materials and apply the process to the sample loafercreek data. The code to apply the process to loafercreek is given. Then we ask that you apply a similar process to your own data, adjusting your generalized horizon patterns as needed for your local soils. This may take more time than we have during class itself, so you should follow up as needed with your mentor to complete. Chapter 3 Exploratory Data Analysis will get deeper into some of the topics that are referenced in the loafercreek code, such as summary statistics on grouped data. You will send a table and profile plots to your mentor when you are done. 2.9 fetchNASIS() data checks fetchNASIS() does a lot of the hard work for you by pulling out a variety of child tables and joining them to site/horizon tables This results in a SoilProfileCollection object that has many of the NASIS data columns. In order to do this, a variety of processes are run. Output is generated that you should look at. We will walk through the most common parts. Mixing of multiple colors (for “default” moist and dry colors for many:1 case) mixing dry colors ... [33 of 4108 horizons] mixing moist colors ... [60 of 4532 horizons] Quality control and limited “filling” of fragments, horizon depth data, site data, tables replacing missing lower horizon depths with top depth + 1cm ... [19 horizons] -> QC: horizon errors detected: Use `get('bad.pedon.ids', envir=soilDB.env)` for pedon record IDs (peiid) Use `get('bad.horizons', envir=soilDB.env)` for horizon designations -> QC: pedons missing bottom hz depths: Use `get('missing.bottom.depths', envir=soilDB.env)` for pedon record IDs (peiid) Notes about default settings and handling of NULL (missing data elements or records) NOTE: some records are missing surface fragment cover NOTE: some records are missing rock fragment volume NOTE: all records are missing artifact volume 2.9.1 Inspecting Results Here we inspect occurrence of andic soil properties in MT647. We will download this “selected set” from the course website as an .rda file to save you the effort of crafting your selected set just for this example. example.data.dir <- "C:/workspace2" example.data.path <- file.path(example.data.dir, "mt647.rda") if (!dir.exists(example.data.dir)) dir.create(example.data.dir, recursive = TRUE) download.file("https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/book/02/mt647.rda", destfile = example.data.path) Downloading and installing the above .rda is equivalent to doing NASIS query “_PedonPC_Plus_DataDump_select” (MLRA04 Bozeman) for to fill your selected set for User Site ID: %MT647%, NASIS Site: MLRA04%, NASIS Group: 4-MIS Pedons, followed by mt647 <- fetchNASIS(). 2.9.1.1 Load Example Data To load the sample object data into R, just use load() and the path to the .rda file (example.data.path or \"C:/workspace2/mt647.rda\") # load the sample data example.data.dir <- "C:/workspace2" load(file.path(example.data.dir, "mt647.rda")) length(mt647) ## [1] 481 table(site(mt647)$andic.soil.properties, useNA = "ifany") ## ## FALSE TRUE <NA> ## 2 83 396 # get just the profiles with andic.soil.properties == TRUE subset(mt647, andic.soil.properties) ## SoilProfileCollection with 83 profiles and 446 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 20 - 305 cm ## ## ----- Horizons (6 / 446 rows | 10 / 73 columns) ----- ## peiid phiid hzdept hzdepb hzname texture genhz bounddistinct boundtopo clay ## 828140 4005861 0 2 Oe <NA> <NA> <NA> <NA> NA ## 828140 4005863 2 13 E CBV-L <NA> clear smooth 5 ## 828140 4005859 13 23 Bs1 CBV-L <NA> clear smooth 8 ## 828140 4005862 23 33 Bs2 CBV-L <NA> gradual smooth 8 ## 828140 4005864 33 69 BC GRX-FSL <NA> gradual smooth 10 ## 828140 4005860 69 152 2C GRX-FSL <NA> <NA> <NA> 10 ## [... more horizons ...] ## ## ----- Sites (6 / 83 rows | 10 / 105 columns) ----- ## siteiid peiid pedon_id site_id obs_date utmzone utmeasting utmnorthing x y ## 845415 828140 P23-134 93MT6470134 1993-08-12 12 294091.0 5092141 -113.6569 45.95195 ## 845429 828152 P92-052 92MT6470052 1992-07-30 12 274420.9 5123423 -113.9253 46.22694 ## 845430 828153 P92-046 92MT6470046 1992-07-23 12 282680.7 5161752 -113.8361 46.57417 ## 845432 828155 P93-053 93MT6470053 1993-08-10 12 259526.3 5079142 -114.0958 45.82389 ## 845434 828157 P91-103 91MT6470103 1991-09-26 12 272221.3 5127708 -113.9558 46.26472 ## 845451 828176 P89-011 89MT6470011 1989-08-02 12 276988.7 5110875 -113.8861 46.11500 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] We can compare this to what we see in the NASIS Pedon Diagnostic Features table: Any profiles that have have logic errors detected are stored in soilDB.env bad.pedon.ids variable after you run fetchNASIS. If this variable does not exist either you have not run fetchNASIS() in the current session or there are no errors # these are the troublesome user pedon IDs get('bad.pedon.ids', envir = soilDB.env) ## [1] "P93-037" "P90-008" "P90-004" "P90-009" "P93-058" "P93-059" "P90-025" "P90-002" "P90-012" "P92-001" "P92-085" ## [12] "P91-105" "P90-019" "P75-006" "P90-010" "P90-015" "P91-094" "P92-029" "P92-076" "P93-026" "P93-035" "P93-063" ## [23] "P93-064" "P93-041" "P93-043" "P93-044" "P93-083" "P93-112" "P93-113" "P93-124" "P93-001" "P96-007" "P91-025" ## [34] "P93-078" "P92-044" "P91-112" "P92-038" "P90-018" "P93-057" "P93-084" "P91-059" "P90-016" "P92-063" "P92-048" ## [45] "P93-052" "F01-230" "F95-420" "F95-114" "F96-205" # by default, rmHzErrors removes the "bad" illogical pedons any(mt647$pedon_id %in% get('bad.pedon.ids', envir=soilDB.env)) ## [1] FALSE When fetchNASIS(..., rmHzErrors = TRUE) (the default), any horizons that were omitted from the SoilProfileCollection will be stored in the bad.horizons variable in the soilDB.env environment. head(get('bad.horizons', envir=soilDB.env)) ## peiid phiid pedon_id hzname hzdept hzdepb ## 67 868038 4270407 F01-230 Bw NA NA ## 68 868038 4270406 F01-230 E NA NA ## 95 868072 4270514 F95-114 <NA> NA NA ## 99 868048 4270437 F95-420 <NA> NA NA ## 111 868074 4270521 F96-205 C NA NA ## 112 868074 4270519 F96-205 B NA NA 2.9.1.2 Logic Checks for the SoilProfileCollection The aqp package has several functions that do logic checks on SoilProfileCollection objects. The main method that does this in aqp is checkHzDepthLogic() which returns a data.frame of results of running four logic tests on the horizon data from each profile. Checks for: bottom depths less than top depth / bad top depth order (\"depthLogic\") bottom depths equal to top depth (\"sameDepth\") overlaps and gaps (\"overlapOrGap\") missing depths (\"missingDepth\") logic_tests <- checkHzDepthLogic(mt647err) # look at first few (look OK; valid == TRUE) head(logic_tests) ## peiid valid depthLogic sameDepth missingDepth overlapOrGap ## 1 828138 TRUE FALSE FALSE FALSE FALSE ## 2 828139 TRUE FALSE FALSE FALSE FALSE ## 3 828140 TRUE FALSE FALSE FALSE FALSE ## 4 828141 TRUE FALSE FALSE FALSE FALSE ## 5 828142 TRUE FALSE FALSE FALSE FALSE ## 6 828143 TRUE FALSE FALSE FALSE FALSE # these all have overlapOrGap errors head(logic_tests[!logic_tests$valid, ]) ## peiid valid depthLogic sameDepth missingDepth overlapOrGap ## 11 828148 FALSE FALSE FALSE FALSE TRUE ## 23 828160 FALSE FALSE FALSE FALSE TRUE ## 25 828162 FALSE FALSE FALSE FALSE TRUE ## 34 828171 FALSE FALSE FALSE FALSE TRUE ## 35 828172 FALSE FALSE FALSE FALSE TRUE ## 36 828173 FALSE FALSE FALSE FALSE TRUE # join the logic test data into the site table site(mt647err) <- logic_tests Use the $valid vector in result to filter out profiles with missing depths (logic_tests$valid == FALSE) bad.profiles <- subset(mt647err, !valid) bad.profiles ## SoilProfileCollection with 49 profiles and 338 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 15 - 152 cm ## ## ----- Horizons (6 / 338 rows | 10 / 73 columns) ----- ## peiid phiid hzdept hzdepb hzname texture genhz bounddistinct boundtopo clay ## 828148 4005908 0 3 Oe <NA> <NA> <NA> <NA> NA ## 828148 4005907 3 5 Oi <NA> <NA> <NA> <NA> NA ## 828148 4005905 5 15 E CB-FSL <NA> clear smooth 5 ## 828148 4005911 15 23 Bs CB-SIL <NA> abrupt smooth 5 ## 828148 4005909 23 25 2E CBV-FSL <NA> clear smooth 8 ## 828148 4005910 25 58 2B CBV-FSL <NA> gradual smooth 10 ## [... more horizons ...] ## ## ----- Sites (6 / 49 rows | 10 / 110 columns) ----- ## peiid siteiid pedon_id site_id obs_date utmzone utmeasting utmnorthing x y ## 828148 845423 P93-037 93MT6470037 1993-07-28 12 272869.5 5126695 -113.9469 46.25583 ## 828160 845435 P90-008 90MT6470008 1990-07-12 12 274656.5 5129224 -113.9250 46.27917 ## 828162 845437 P90-004 90MT6470004 1990-07-16 12 273885.5 5128079 -113.9344 46.26861 ## 828171 845446 P90-009 90MT6470009 1990-07-24 12 274813.1 5129404 -113.9230 46.28083 ## 828172 845447 P93-058 93MT6470058 1993-08-19 12 265401.3 5110256 -114.0356 46.10555 ## 828173 845448 P93-059 93MT6470059 1993-08-19 12 265446.7 5110316 -114.0350 46.10611 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] And also filter out the valid ones (logic_tests$valid == TRUE) good.profiles <- subset(mt647err, logic_tests$valid) good.profiles ## SoilProfileCollection with 481 profiles and 2536 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 14 - 1552 cm ## ## ----- Horizons (6 / 2536 rows | 10 / 73 columns) ----- ## peiid phiid hzdept hzdepb hzname texture genhz bounddistinct boundtopo clay ## 828138 4005848 0 5 O <NA> <NA> <NA> <NA> NA ## 828138 4005852 5 18 E GR-L <NA> clear smooth 12 ## 828138 4005850 18 38 Bw1 GRV-L <NA> gradual wavy 14 ## 828138 4005849 38 51 Bw2 CBV-FSL <NA> gradual wavy 12 ## 828138 4005853 51 71 BC CBV-SL <NA> clear wavy 12 ## 828138 4005851 71 81 R <NA> <NA> <NA> <NA> NA ## [... more horizons ...] ## ## ----- Sites (6 / 481 rows | 10 / 110 columns) ----- ## peiid siteiid pedon_id site_id obs_date utmzone utmeasting utmnorthing x y ## 828138 845413 P91-043 91MT6470043 1991-07-11 12 268288.0 5068425 -113.9781 45.73056 ## 828139 845414 P91-029 91MT6470029 1991-06-27 12 280623.2 5147302 -113.8561 46.44361 ## 828140 845415 P23-134 93MT6470134 1993-08-12 12 294091.0 5092141 -113.6569 45.95195 ## 828141 845416 P93-025 93MT6470025 1993-07-08 12 279148.0 5151960 -113.8775 46.48500 ## 828142 845417 P93-075 93MT6470075 1993-09-14 12 261086.6 5080380 -114.0764 45.83556 ## 828143 845418 P93-074 93MT6470074 1993-09-14 12 261036.4 5080197 -114.0769 45.83389 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] 2.10 Extended Data Functions Additional data related to both site and horizon information can be fetched using the get_extended_data_from_NASIS() function. This function returns a named list() with several tables that fetchNASIS draws from–in addition to the typical Site/Pedon/Component/Horizon tables. There are a variety of calculated fields that are included in the default fetchNASIS result based on the extended data–you can make use of these to simplify queries and aggregations for a variety of analyses… And then follow up with more detailed data as needed. 2.10.1 Elements of get_extended_data_from_NASIS() Ecological Site History (\"ecositehistory\") Diagnostic Features (\"diagnostic\") Diagnostic Feature TRUE/FALSE Summary (\"diagHzBoolean\") Restrictions (\"restriction\") Fragment and Texture Summaries Horizon Fragments (\"frag_summary\") Horizon Artifacts (\"art_summary\") Surface Fragments (\"surf_frag_summary\") Texture Class Modifiers (\"texmodifier\") Geomorphic Table Summaries (\"geomorph\") Parent Material Summaries (\"pm\") Taxonomic History (\"taxhistory\") Site Text Notes w/ Photo links(\"photo\") Horizon Structure (\"struct\") Horizon Designation (\"hzdesgn\") 2.10.2 Load Example Data Below is a summary of additional information that can be readily brought into R from your NASIS selected set via the get_extended_data_from_NASIS() function. To download the sample 2015MT663% data from the course page with R: example.data.dir <- "C:/workspace2" example.data.path <- file.path(example.data.dir, "mt663.rda") if (!dir.exists(example.data.dir)) dir.create(example.data.dir, recursive = TRUE) download.file("https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/book/02/mt663.rda", destfile = example.data.path) Before continuing, imagine opening the NASIS client, populating your selected set with 2015MT663% using a query like “NSSC Pangaea – POINT-Pedon/Site by User Pedon ID” Load the data like we did above. # load the sample data example.data.dir <- "C:/workspace2" load(file.path(example.data.dir, "mt663.rda")) ## fetch extended site and horizon data from local NASIS # mt663ext <- get_extended_data_from_NASIS_db() We could use the get_extended_data_from_NASIS_db() function if 2015MT663% or other data were in the selected set, but we will use the mt663ext data we loaded from the .rda file. The column names are the names of variables that you could join to your site or horizon data by various means. Generally these variable names, with a few exceptions, mirror the NASIS 7 data model names. # site and pedon related extended data # list all dataframes in the extended data str(mt663ext, 1) ## List of 14 ## $ ecositehistory :'data.frame': 0 obs. of 5 variables: ## $ diagnostic :'data.frame': 292 obs. of 4 variables: ## $ diagHzBoolean :'data.frame': 115 obs. of 20 variables: ## $ restriction :'data.frame': 11 obs. of 8 variables: ## $ frag_summary :'data.frame': 561 obs. of 18 variables: ## $ art_summary :'data.frame': 561 obs. of 14 variables: ## $ surf_frag_summary:'data.frame': 134 obs. of 10 variables: ## $ texmodifier :'data.frame': 622 obs. of 5 variables: ## $ geomorph :'data.frame': 241 obs. of 9 variables: ## $ taxhistory :'data.frame': 115 obs. of 21 variables: ## $ photo :'data.frame': 793 obs. of 4 variables: ## $ pm :'data.frame': 179 obs. of 10 variables: ## $ struct :'data.frame': 444 obs. of 6 variables: ## $ hzdesgn :'data.frame': 561 obs. of 19 variables: # vegetation data summary colnames(mt663ext$ecositehistory) ## [1] "siteiid" "ecositeid" "ecositenm" "ecositecorrdate" "es_classifier" # diagnostic features colnames(mt663ext$diagnostic) ## [1] "peiid" "featkind" "featdept" "featdepb" # surface rock fragments colnames(mt663ext$surf_frag_summary) ## [1] "peiid" "surface_fgravel" "surface_gravel" "surface_cobbles" "surface_stones" ## [6] "surface_boulders" "surface_channers" "surface_flagstones" "surface_paragravel" "surface_paracobbles" # geomorphic description colnames(mt663ext$geomorph) ## [1] "peiid" "geomicrorelief" "geommicelev" "geomfmod" "geomfname" "geomfeatid" ## [7] "existsonfeat" "geomfiidref" "geomftname" # taxonomic history data colnames(mt663ext$taxhistory) ## [1] "peiid" "classdate" "classifier" "classtype" "taxonname" "localphase" ## [7] "taxonkind" "seriesstatus" "taxclname" "taxpartsize" "taxorder" "taxsuborder" ## [13] "taxgrtgroup" "taxsubgrp" "soiltaxedition" "osdtypelocflag" "taxmoistcl" "taxtempregime" ## [19] "taxfamother" "psctopdepth" "pscbotdepth" # linked photo stored in site textnotes colnames(mt663ext$photo) ## [1] "siteiid" "recdate" "textcat" "imagepath" # site parent materials colnames(mt663ext$pm) ## [1] "siteiid" "seqnum" "pmorder" "pmdept" "pmdepb" "pmmodifier" "pmgenmod" ## [8] "pmkind" "pmorigin" "pmweathering" ### ### horizon related extended data ### # rock fragments colnames(mt663ext$frag_summary) ## [1] "phiid" "fine_gravel" "gravel" "cobbles" ## [5] "stones" "boulders" "channers" "flagstones" ## [9] "parafine_gravel" "paragravel" "paracobbles" "parastones" ## [13] "paraboulders" "parachanners" "paraflagstones" "unspecified" ## [17] "total_frags_pct_nopf" "total_frags_pct" # soil texture modifers colnames(mt663ext$texmodifier) ## [1] "peiid" "phiid" "phtiid" "seqnum" "texmod" # soil structure data colnames(mt663ext$struct) ## [1] "phiid" "structgrade" "structsize" "structtype" "structid" "structpartsto" 2.10.3 Visualizing Common Landforms The following code generates a simple graphical summary of the 10 most commonly occurring \"landform_string\" (a calculated field in fetchNASIS()) to inspect which are the most common. # load data from a NASIS selected set (or sample object) pedons <- mt663 # create 'lf' object of landform factors sorted in descending order lf <- sort(table(pedons$landform_string), decreasing = TRUE) # plot top 10 or length, whichever is shorter Hmisc::dotchart2(lf[1:pmin(10, length(lf))], col = 'black', xlim = c(0, max(lf)), cex.labels = 0.75) For a challenge and to further inspect your own data try the above code with some other summaries of geomorphic data produced by fetchNASIS(). You can swap landform_string for: landscape_string (landscape), hillslopeprof (2D), geomposmntn, geomposhill, geompostrce, geomposflats (3D), slope_shape, shapeacross, shapedown (slope shape across/down), microfeature_string (microfeature), or geomicrorelief_string (site observation microrelief). 2.10.4 Diagnostic Features 2.10.4.1 Boolean Diagnostic Features in fetchNASIS If diagnostic features are populated in the Pedon Diagnostic Features table in NASIS, then Boolean (TRUE or FALSE) fields are created for each diagnostic feature type found in the data brought in by fetchNASIS. These fields can be used to model presence / absence of a diagnostic soil feature by extracting the site data from the SoilProfileCollection with site(). 2.10.4.2 Thickness from Diagnostic Features Table The following is an example of how you could use the diagnostic features (if populated!) from the extended data to determine the thickness of a diagnostic feature of interest. # get diagnostic features associated with pedons loaded from selected set d <- diagnostic_hz(mt663) # summary of the diagnostic features in your data! unique(d$featkind) ## [1] "ochric epipedon" "cambic horizon" "lithic contact" "mollic epipedon" ## [5] "argillic horizon" "redox concentrations" "andic soil properties" "secondary carbonates" ## [9] "sapric soil materials" "aquic conditions" "reduced matrix" "albic horizon" ## [13] "spodic horizon" "glossic horizon" "spodic materials" "lithologic discontinuity" ## [17] "densic materials" "umbric epipedon" "albic materials" NA # tabulate sort(table(droplevels(factor(d$featkind))), decreasing = TRUE) ## ## ochric epipedon cambic horizon argillic horizon mollic epipedon ## 61 54 43 42 ## andic soil properties lithic contact secondary carbonates umbric epipedon ## 30 20 7 7 ## albic horizon spodic horizon glossic horizon reduced matrix ## 6 4 3 3 ## sapric soil materials lithologic discontinuity albic materials aquic conditions ## 3 2 1 1 ## densic materials redox concentrations spodic materials ## 1 1 1 # subset argillic horizons d <- d[d$featkind == 'argillic horizon', ] # create a new column and subtract the upper from the lower depth d$argillic_thickness_cm <- d$featdepb - d$featdept # create another new column with the upper depth to the diagnostic feature d$depth_to_argillic_cm <- d$featdept # omit NA values d <- na.omit(d) # subset to pedon records IDs and calculated thickness d <- d[, c('peiid', 'argillic_thickness_cm', 'depth_to_argillic_cm')] head(d) ## peiid argillic_thickness_cm depth_to_argillic_cm ## 7 1092610 56 30 ## 24 1092617 38 34 ## 26 1092618 29 23 ## 28 1092619 38 32 ## 30 1092620 29 24 ## 33 1092621 23 19 # left-join with existing site data site(mt663) <- d # plot as histogram par(mar = c(4.5, 4.5, 1, 1)) # note additional arguments to adjust figure labels hist( mt663$argillic_thickness_cm, xlab = 'Thickness of argillic (cm)', main = '', las = 1 ) hist( mt663$depth_to_argillic_cm, xlab = 'Depth to argillic top depth (cm)', main = '', las = 1 ) Quick check: What can you do with the boolean diagnostic feature data stored in the site table of a fetchNASIS SoilProfileCollection? 2.10.4.3 Diagnostic Feature Diagrams # work up diagnostic plot based on the mt663 dataset loaded above library(aqp) library(soilDB) library(sharpshootR) # can limit which diagnostic features to show by setting 'v' manually v <- c('ochric.epipedon', 'mollic.epipedon', 'andic.soil.properties', 'argillic.horizon', 'cambic.horizon', 'lithic.contact') # the default concatenated landform_string may have multiple levels # depending on how the geomorphic tables were populated # these are concatenated using the ampersand (&) character # so take the first string split using ampersand as a delimiter mt663$first_landform <- sapply(strsplit(mt663$landform_string, "&"), function(x) x[[1]]) # plot with diagnostic features ordered according to co-occurrence # v: site-level attributes to consider # k: number of clusters to identify diagnosticPropertyPlot( mt663[1:30, ], v = v, k = 5, grid.label = 'site_id', dend.label = 'first_landform', sort.vars = TRUE ) 2.11 Exercise 3: Diagnostic Horizons in Your Own Data Use the following script to generate a diagnostic-feature diagram for the pedon data you’ve loaded from your NASIS selected set. Alternately, you may use the MT663 data from the example above, just substitute the object mt663 for f. You can select a subset of desired diagnostic properties or use all diagnostic feature columns. library(aqp) library(soilDB) library(sharpshootR) # Load data f <- fetchNASIS(from = 'pedons') # ... May need to use subset() to reduce the number of pedons! # get all diagnostic feature columns from site data # by pattern matching on '[.]' in the site attribute names # this is not a generic rule, but works here idx <- grep('[.]', siteNames(f)) v <- siteNames(f)[idx] # inspect v v # insert diagnostics of interest from the possible list in 'v' v <- c('ochric.epipedon', 'cambic.horizon', 'argillic.horizon', 'paralithic.contact', 'lithic.contact') # generate diagnostic property diagram diagnosticPropertyPlot( f, v = v, k = 5, grid.label = 'site_id', dend.label = 'taxonname' ) For more information on generating diagnostic feature diagrams, see the following tutorial: Diagnostic Feature Property Plots. Questions: Use the results of site(), horizons(), diagnostic_hz() to answer the following questions about your own data. These functions return data.frame objects from a SoilProfileCollection derived from your local NASIS data. How many pedons do you have in your selected set? Check the number of rows in the site portion of the SoilProfileCollection with nrow(), or use the method length() on the collection. How many diagnostic features do you have for those pedons? How many different \"featkind\"? You can calculate the number of unique values with with length() and unique() Interpret: What diagnostic features did you choose to plot? Did you notice any patterns in the diagnostic features that tend to occur together? Send your mentor a copy of your results and the commands you used. 2.12 Custom Queries to Local NASIS Database fetchNASIS() and related convenience functions are wrappers around commonly used chunks of SQL (Structured Query Language). Queries of the NASIS local database can be written in T-SQL which is the dialect of SQL used to communicate with Microsoft SQL Server. This is the connection that you set for the pre-course. To create a DBIConnection object that can access the NASIS local database, use dbConnectNASIS() or simply NASIS(). This will look for an ODBC connection of the name \"nasis_local\" and will authenticate with the read-only credentials. You can also pass an existing DBIConnection or path to SQLite file as the dsn argument to connect to an alternate source. The default driver type used for NASIS connections is OdbcConnection from the odbc package. To query or execute SQL commands on a connection you created, you can use dbGetQuery(connection, query), where connection is your DBIConnection object and query is the SQL to execute. The soilDB package also includes a helper function dbQueryNASIS(), which functions just like dbGetQuery() except the default is to close the connection after returning the result. This can be convenient for interactive use or cases where a function needs to only execute a single query, as it will prevent you from leaving connections open accidentally. 2.12.1 Example: Site Soil Temperature Data from CA792 (Sequoia-Kings Canyon National Park) The following example will return all records in your selected set sitesoiltemp table, along with a couple of fields from the site, siteobs, and pedon tables. This is a convenient way to collect all of the field-based soil temperature data associated with the pedons in your selected set for further analysis. You can use the CA792 (Sequoia-Kings Canyon National Park) pedons as an example. Use a query that searches user pedon ID for the following pattern %CA792% to download and populate a selected set in the NASIS client. library(soilDB) # write query as a character string q <- "SELECT siteiid as siteiid, peiid, usiteid as site_id, upedonid as pedon_id, obsdate as obs_date, soitemp, soitempdep FROM site_View_1 INNER JOIN siteobs_View_1 ON site_View_1.siteiid = siteobs_View_1.siteiidref LEFT OUTER JOIN sitesoiltemp_View_1 ON siteobs_View_1.siteobsiid = sitesoiltemp_View_1.siteobsiidref LEFT OUTER JOIN pedon_View_1 ON siteobs_View_1.siteobsiid = pedon_View_1.siteobsiidref ORDER BY obs_date, siteiid;" # setup connection to local NASIS channel <- NASIS() # exec query d <- dbQueryNASIS(channel, q) The functions dbConnectNASIS() (alias NASIS()) and dbQueryNASIS() allow you to create a connection to the NASIS local database and send queries to that connection, respectively. By default, dbQueryNASIS() will close your connection after completing the query; you can change this by setting close=FALSE. # check results str(d) # remove records missing values d <- na.omit(d) # tabulate unique soil depths table(d$soitempdep) # extract doy of year d$doy <- as.integer(format(d$obs_date, "%j")) # when where measurements collected? hist( d$doy, xlim = c(1, 366), las = 1, main = 'Soil Temperature Measurements', xlab = 'Day of Year' ) # soil temperature by day of year plot( soitemp ~ doy, data = d, main = 'Soil Temperature Measurements (CA792)\\nNASIS "Site Soil Temperature" table', type = 'p', pch = 21, bg = 'royalblue', xlim = c(1, 366), ylim = c(-1, 26), xlab = 'Day of Year', ylab = 'Soil Temperature at 50cm (deg C)', las = 1 ) # vernal equinox, summer solstice, autumnal equinox, winter solstice x <- as.Date(c('2022-03-20', '2022-06-21', '2022-09-23', '2022-12-21')) # convert dates -> Julian date, or day-of-year doy <- as.integer(format(x, "%j")) # add vertical lines abline(v = doy, lty = 3, col = grey(0.45)) # annotate # pos argument: left-center offset text( x = doy, y = -1, labels = c('vernal equinox', 'summer solstice', 'autumnal equinox', 'winter solstice'), pos = 2, cex = 0.75, font = 3 ) # box/whisker plot showing distribution of day-of-year # when measurements (pedon descriptions) were collected boxplot(d$doy, at = 26, horizontal = TRUE, add = TRUE, lty = 1, width = 1, col = 'white', axes = FALSE) + "],["eda.html", "Chapter 3 Exploratory Data Analysis 3.1 Objectives (Exploratory Data Analysis) 3.2 Statistics 3.3 Data Inspection 3.4 Exercise 1: fetch and inspect 3.5 Descriptive Statistics 3.6 Exercise 2: Compute Descriptive Statistics 3.7 Graphical Methods 3.8 Exercise 3: Graphical Methods 3.9 Transformations 3.10 The Shiny Package 3.11 soilReports 3.12 Additional Reading (Exploratory Data Analysis)", " Chapter 3 Exploratory Data Analysis Before embarking on developing statistical models and generating predictions, it is essential to understand your data. This is typically done using conventional numerical and graphical methods. John Tukey ((Tukey 1977)) advocated the practice of exploratory data analysis (EDA) as a critical part of the scientific process. “No catalog of techniques can convey a willingness to look for what can be seen, whether or not anticipated. Yet this is at the heart of exploratory data analysis. The graph paper and transparencies are there, not as a technique, but rather as a recognition that the picture examining eye is the best finder we have of the wholly unanticipated.” Fortunately, we can dispense with the graph paper and transparencies and use software that makes routine work of developing the ‘pictures’ (i.e., graphical output) and descriptive statistics needed to explore our data. NASIS has an abundance of tabular soils data captured within it, dating back in some cases as far as 1975. These records capture a large amount of raw information about our soil series and map unit component concepts. In many cases, the data are not as clear to interpret or detailed as we would like. This chapter will demonstrate ways to characterize a variety of different data types. 3.1 Objectives (Exploratory Data Analysis) Review methods for estimating Low, RV, and High values Review different methods for visualizing soil data Review data transformations 3.2 Statistics Descriptive statistics include: Mean - arithmetic average Median - middle value Mode - most frequent value Standard Deviation - variation around the mean Interquartile Range - range encompasses 50% of the values Kurtosis - peakedness of the data distribution Skewness - symmetry of the data distribution Graphical methods include: Histogram - a bar plot where each bar represents the frequency of observations for a given range of values Density estimation - an estimation of the frequency distribution based on the sample data Quantile-quantile plot - a plot of the actual data values against a normal distribution Box plots - a visual representation of median, quartiles, symmetry, skewness, and outliers Scatter plots - a graphical display of one variable plotted on the x axis and another on the y axis Radial plots - plots formatted for the representation of circular data 3.3 Data Inspection Before you start an EDA, you should inspect your data and correct all typos and blatant errors. EDA can then be used to identify additional errors such as outliers and help you determine the appropriate statistical analyses. For this chapter we’ll use the loafercreek dataset from the CA630 Soil Survey Area. library(dplyr) # Load from the the loakercreek dataset data("loafercreek", package = "soilDB") # Extract the horizon table h <- aqp::horizons(loafercreek) # Construct generalized horizon designations n <- c("A", "BAt", "Bt1", "Bt2", "Cr", "R") # REGEX rules p <- c("A", "BA|AB", "Bt|Bw", "Bt3|Bt4|2B|C", "Cr", "R") # Compute genhz labels and add to loafercreek dataset h$genhz <- aqp::generalize.hz(h$hzname, n, p) # Examine genhz vs hznames (wide format) table(h$genhz, h$hzname) ## ## 2BC 2BCt 2Bt1 2Bt2 2Bt3 2Bt4 2Bt5 2CB 2CBt 2Cr 2Crt 2R A A1 A2 AB ABt Ad Ap B BA BAt BC BCt Bt Bt1 Bt2 ## A 0 0 0 0 0 0 0 0 0 0 0 0 97 7 7 0 0 1 1 0 0 0 0 0 0 0 0 ## BAt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 31 8 0 0 0 0 0 ## Bt1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 8 93 88 ## Bt2 1 1 3 8 8 6 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 16 0 0 0 ## Cr 0 0 0 0 0 0 0 0 0 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## not-used 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 ## ## Bt3 Bt4 Bw Bw1 Bw2 Bw3 C CBt Cd Cr Cr/R Crt H1 Oi R Rt ## A 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## BAt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## Bt1 0 0 10 2 2 1 0 0 0 0 0 0 0 0 0 0 ## Bt2 47 8 0 0 0 0 6 6 1 0 0 0 0 0 0 0 ## Cr 0 0 0 0 0 0 0 0 0 49 0 20 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 0 1 0 0 0 40 1 ## not-used 0 0 0 0 0 0 0 0 0 0 0 0 1 24 0 0 # Examine matching pairs (long format) h %>% group_by(genhz, hzname) %>% count() ## # A tibble: 43 × 3 ## # Groups: genhz, hzname [43] ## genhz hzname n ## <fct> <chr> <int> ## 1 A A 97 ## 2 A A1 7 ## 3 A A2 7 ## 4 A Ad 1 ## 5 A Ap 1 ## 6 BAt AB 1 ## 7 BAt BA 31 ## 8 BAt BAt 8 ## 9 Bt1 ABt 2 ## 10 Bt1 Bt 8 ## # ℹ 33 more rows As noted in Chapter 1, a visual examination of the raw data is possible by clicking on the dataset in the environment tab, or via commandline: View(h) This view is fine for a small dataset, but can be cumbersome for larger ones. The summary() function can be used to quickly summarize a dataset however, even for our small example dataset, the output can be voluminous. Therefore in the interest of saving space we’ll only look at a sample of columns. h %>% select(genhz, clay, total_frags_pct, phfield, effclass) %>% summary() ## genhz clay total_frags_pct phfield effclass ## A :113 Min. :10.00 Min. : 0.00 Min. :4.90 Length:626 ## BAt : 40 1st Qu.:18.00 1st Qu.: 0.00 1st Qu.:6.00 Class :character ## Bt1 :206 Median :22.00 Median : 5.00 Median :6.30 Mode :character ## Bt2 :118 Mean :23.63 Mean :13.88 Mean :6.18 ## Cr : 75 3rd Qu.:28.00 3rd Qu.:20.00 3rd Qu.:6.50 ## R : 48 Max. :60.00 Max. :95.00 Max. :7.00 ## not-used: 26 NA's :167 NA's :381 The summary() function is known as a generic R function. It will return a preprogrammed summary for any R object. Because h is a data frame, we get a summary of each column. Factors will be summarized by their frequency (i.e., number of observations), while numeric or integer variables will print out a five number summary, and characters simply print their length. The number of missing observations for any variable will also be printed if they are present. If any of these metrics look unfamiliar to you, don’t worry we’ll cover them shortly. When you do have missing data and the function you want to run will not run with missing values, the following options are available: Exclude all rows or columns that contain missing values using the function na.exclude(), such as h2 <- na.exclude(h). However this can be wasteful because it removes all rows (e.g., horizons), regardless if the row only has 1 missing value. Instead it’s sometimes best to create a temporary copy of the variable in question and then remove the missing variables, such as clay <- na.exclude(h$clay). Replace missing values with another value, such as zero, a global constant, or the mean or median value for that column, such as h$clay <- ifelse(is.na(h$clay), 0, h$clay) # or h[is.na(h$clay), ] <- 0. Read the help file for the function you’re attempting to use. Many functions have additional arguments for dealing with missing values, such as na.rm. A quick check for typos would be to examine the list of levels for a factor or character, such as: # just for factors levels(h$genhz) ## [1] "A" "BAt" "Bt1" "Bt2" "Cr" "R" "not-used" # for characters and factors sort(unique(h$hzname)) ## [1] "2BC" "2BCt" "2Bt1" "2Bt2" "2Bt3" "2Bt4" "2Bt5" "2CB" "2CBt" "2Cr" "2Crt" "2R" "A" "A1" "A2" "AB" ## [17] "ABt" "Ad" "Ap" "B" "BA" "BAt" "BC" "BCt" "Bt" "Bt1" "Bt2" "Bt3" "Bt4" "Bw" "Bw1" "Bw2" ## [33] "Bw3" "C" "CBt" "Cd" "Cr" "Cr/R" "Crt" "H1" "Oi" "R" "Rt" If the unique() function returned typos such as “BT” or “B t”, you could either fix your original dataset or you could make an adjustment in R, such as: h$hzname <- ifelse(h$hzname == "BT", "Bt", h$hzname) Typo errors such as these are a common problem with old pedon data in NASIS. 3.4 Exercise 1: fetch and inspect Create a new R script Load the gopheridge dataset found within the soilDB package or use your own data (highly encouraged) and inspect the dataset Apply the generalized horizon rules below or develop your own, see the following job-aid Summarize the hzdept, genhz, texture_class, sand, and fine gravel. Save your R script, and forward to your instructor. # gopheridge rules n <- c('A', 'Bt1', 'Bt2', 'Bt3','Cr','R') p <- c('^A|BA$', 'Bt1|Bw','Bt$|Bt2', 'Bt3|CBt$|BCt','Cr','R') 3.5 Descriptive Statistics Table 3.1: Short Description of Descriptive Statistics and R Functions Parameter NASIS Description R function Mean RV ? arithmetic average mean() Median RV middle value, 50% quantile median() Mode RV most frequent value sort(table(), decreasing = TRUE)[1] Standard Deviation L & H ? variation around mean sd() Quantiles L & H percent rank of values, such that all values are <= p quantile() 3.5.1 Measures of Central Tendency These measures are used to determine the mid-point of the range of observed values. In NASIS speak this should ideally be equivalent to the representative value (RV) for numeric and integer data. The mean and median are the most commonly used measures for our purposes. Mean - is the arithmetic average all are familiar with, formally expressed as: \\(\\bar{x} =\\frac{\\sum_{i=1}^{n}x_i}{n}\\) which sums ( \\(\\sum\\) ) all the X values in the sample and divides by the number (n) of samples. It is assumed that all references in this document refer to samples rather than a population. The mean clay content from the loafercreek dataset may be determined: mean(h$clay, na.rm = TRUE) ## [1] 23.62767 Median is the middle measurement of a sample set, and as such is a more robust estimate of central tendency than the mean. This is known as the middle or 50th quantile, meaning there are an equal number of samples with values less than and greater than the median. For example, assuming there are 21 samples, sorted in ascending order, the median would be the 11th sample. The median from the sample dataset may be determined: median(h$clay, na.rm = TRUE) ## [1] 22 Mode - is the most frequent measurement in the sample. The use of mode is typically reserved for factors, which we will discuss shortly. One issue with using the mode for numeric data is that the data need to be rounded to the level of desired precision. R does not include a function for calculating the mode, but we can calculate it using the following example. # sort and select the 1st value, which will be the mode sort(table(round(h$clay)), decreasing = TRUE)[1] ## 25 ## 42 Frequencies To summarize factors and characters we can examine their frequency or number of observations. This is accomplished using the table() or summary() functions. table(h$genhz) ## ## A BAt Bt1 Bt2 Cr R not-used ## 113 40 206 118 75 48 26 # or summary(h$genhz) ## A BAt Bt1 Bt2 Cr R not-used ## 113 40 206 118 75 48 26 This gives us a count of the number of observations for each horizon. If we want to see the comparison between two different factors or characters, we can include two variables. table(h$genhz, h$texcl) ## ## c cl l scl sic sicl sil sl ## A 0 0 78 0 0 0 27 6 ## BAt 0 2 31 0 0 1 4 1 ## Bt1 2 44 127 4 1 5 20 1 ## Bt2 16 54 29 5 1 3 5 0 ## Cr 1 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 ## not-used 0 1 0 0 0 0 0 0 # or h %>% count(genhz, texcl) ## genhz texcl n ## 1 A l 78 ## 2 A sil 27 ## 3 A sl 6 ## 4 A <NA> 2 ## 5 BAt cl 2 ## 6 BAt l 31 ## 7 BAt sicl 1 ## 8 BAt sil 4 ## 9 BAt sl 1 ## 10 BAt <NA> 1 ## 11 Bt1 c 2 ## 12 Bt1 cl 44 ## 13 Bt1 l 127 ## 14 Bt1 scl 4 ## 15 Bt1 sic 1 ## 16 Bt1 sicl 5 ## 17 Bt1 sil 20 ## 18 Bt1 sl 1 ## 19 Bt1 <NA> 2 ## 20 Bt2 c 16 ## 21 Bt2 cl 54 ## 22 Bt2 l 29 ## 23 Bt2 scl 5 ## 24 Bt2 sic 1 ## 25 Bt2 sicl 3 ## 26 Bt2 sil 5 ## 27 Bt2 <NA> 5 ## 28 Cr c 1 ## 29 Cr <NA> 74 ## 30 R <NA> 48 ## 31 not-used cl 1 ## 32 not-used <NA> 25 We can also add margin totals to the table or convert the table frequencies to proportions. # append the table with row and column sums addmargins(table(h$genhz, h$texcl)) ## ## c cl l scl sic sicl sil sl Sum ## A 0 0 78 0 0 0 27 6 111 ## BAt 0 2 31 0 0 1 4 1 39 ## Bt1 2 44 127 4 1 5 20 1 204 ## Bt2 16 54 29 5 1 3 5 0 113 ## Cr 1 0 0 0 0 0 0 0 1 ## R 0 0 0 0 0 0 0 0 0 ## not-used 0 1 0 0 0 0 0 0 1 ## Sum 19 101 265 9 2 9 56 8 469 # calculate the proportions relative to the rows, margin = 1 calculates for rows, margin = 2 calculates for columns, margin = NULL calculates for total observations table(h$genhz, h$texture_class) %>% prop.table(margin = 1) %>% round(2) * 100 ## ## br c cb cl gr l pg scl sic sicl sil sl spm ## A 0 0 0 0 0 70 0 0 0 0 24 5 0 ## BAt 0 0 0 5 0 79 0 0 0 3 10 3 0 ## Bt1 0 1 0 22 0 62 0 2 0 2 10 0 0 ## Bt2 0 14 1 46 2 25 1 4 1 3 4 0 0 ## Cr 97 2 0 0 2 0 0 0 0 0 0 0 0 ## R 100 0 0 0 0 0 0 0 0 0 0 0 0 ## not-used 0 0 0 4 0 0 0 0 0 0 0 0 96 To determine the mean by a group or category, use the group_by and summarize functions: h %>% group_by(genhz) %>% summarize(clay_avg = mean(clay, na.rm = TRUE), clay_med = median(clay, na.rm = TRUE) ) ## # A tibble: 7 × 3 ## genhz clay_avg clay_med ## <fct> <dbl> <dbl> ## 1 A 16.2 16 ## 2 BAt 19.5 19 ## 3 Bt1 24.0 24 ## 4 Bt2 31.2 30 ## 5 Cr 15 15 ## 6 R NaN NA ## 7 not-used NaN NA 3.5.2 Measures of Dispersion These are measures used to determine the spread of values around the mid-point. This is useful to determine if the samples are spread widely across the range of observations or concentrated near the mid-point. In NASIS speak these values might equate to the low (L) and high (H) values for numeric and integer data. Variance is a positive value indicating deviation from the mean: \\(s^2 = \\frac{\\sum_{i=1}^{n}(x_i - \\bar{x})^2} {n - 1}\\) This is the square of the sum of the deviations from the mean, divided by the number of samples minus 1. It is commonly referred to as the sum of squares. As the deviation increases, the variance increases. Conversely, if there is no deviation, the variance will equal 0. As a squared value, variance is always positive. Variance is an important component for many statistical analyses including the most commonly referred to measure of dispersion, the standard deviation. Variance for the sample dataset is: var(h$clay, na.rm=TRUE) ## [1] 64.27607 Standard Deviation is the square root of the variance: \\(s = \\sqrt\\frac{\\sum_{i=1}^{n}(x_i - \\bar{x})^2} {n - 1}\\) The units of the standard deviation are the same as the units measured. From the formula you can see that the standard deviation is simply the square root of the variance. Standard deviation for the sample dataset is: sd(h$clay, na.rm = TRUE) ## [1] 8.017236 # or sqrt(var(h$clay, na.rm = TRUE)) ## [1] 8.017236 Coefficient of Variation (CV) is a relative (i.e., unitless) measure of standard deviation: \\(CV = \\frac{s}{\\bar{x}} \\times 100\\) CV is calculated by dividing the standard deviation by the mean and multiplying by 100. Since standard deviation varies in magnitude with the value of the mean, the CV is useful for comparing relative variation amongst different datasets. However Webster (2001) discourages using CV to compare different variables. Webster (2001) also stresses that CV is reserved for variables that have an absolute 0, like clay content. CV may be calculated for the sample dataset as: # remove NA values and create a new variable clay <- na.exclude(h$clay) sd(clay) / mean(clay) * 100 ## [1] 33.93156 Quantiles (a.k.a. Percentiles) - the percentile is the value that cuts off the first nth percent of the data values when sorted in ascending order. The default for the quantile() function returns the min, 25th percentile, median or 50th percentile, 75th percentile, and max, known as the five number summary originally proposed by Tukey. Other probabilities however can be used. At present the 5th, 50th, and 95th are being proposed for determining the range in characteristics (RIC) for a given soil property. quantile(h$clay, na.rm = TRUE) ## 0% 25% 50% 75% 100% ## 10 18 22 28 60 # or quantile(clay, probs = c(0.05, 0.5, 0.95), na.rm = TRUE) ## 5% 50% 95% ## 13.0 22.0 38.1 Thus, for the five number summary 25% of the observations fall between each of the intervals. Quantiles are a useful metric because they are largely unaffected by the distribution of the data, and have a simple interpretation. Range is the difference between the highest and lowest measurement of a group. Using the sample data it may be determined as: range(clay) ## [1] 10 60 which returns the minimum and maximum values observed, or: diff(range(clay)) ## [1] 50 # or max(clay) - min(clay) ## [1] 50 Interquartile Range (IQR) is the range from the upper (75%) quartile to the lower (25%) quartile. This represents 50% of the observations occurring in the mid-range of a sample. IQR is a robust measure of dispersion, unaffected by the distribution of data. In soil survey lingo you could consider the IQR to estimate the central concept of a soil property. IQR may be calculated for the sample dataset as: IQR(clay) ## [1] 10 # or diff(quantile(clay, p = c(0.25, 0.75))) ## 75% ## 10 3.5.3 Correlation A correlation matrix is a table of the calculated correlation coefficients of all variables. This provides a quantitative measure to guide the decision making process. The following will produce a correlation matrix for the sp4 dataset: h$hzdepm <- (h$hzdepb + h$hzdept) / 2 # Compute the middle horizon depth h %>% select(hzdepm, clay, sand, total_frags_pct, phfield) %>% cor(use = "complete.obs") %>% round(2) ## hzdepm clay sand total_frags_pct phfield ## hzdepm 1.00 0.59 -0.08 0.50 -0.03 ## clay 0.59 1.00 -0.17 0.28 0.13 ## sand -0.08 -0.17 1.00 -0.05 0.12 ## total_frags_pct 0.50 0.28 -0.05 1.00 -0.16 ## phfield -0.03 0.13 0.12 -0.16 1.00 As seen in the output, variables are perfectly correlated with themselves and have a correlation coefficient of 1.0. Negative values indicate a negative relationship between variables. What is considered highly correlated? A good rule of thumb is anything with a value of 0.7 or greater is considered highly correlated. 3.6 Exercise 2: Compute Descriptive Statistics Add to your existing R script from Exercise 1. Aggregate by genhz and calculate several descriptive statistics for hzdept, gravel and phfield. Cross-tabulate geomposhill and argillic.horizon from the site table, as a percentage. Compute a correlation matrix between hzdept, gravel and phfield. Save your R script, and forward to your instructor. 3.7 Graphical Methods Now that we’ve checked for missing values and typos and made corrections, we can graphically examine the sample data distribution of our data. Frequency distributions are useful because they can help us visualize the center (e.g., RV) and spread or dispersion (e.g., low and high) of our data. Typically in introductory statistics the normal (i.e., Gaussian) distribution is emphasized. Table 3.2: Short Description of Graphical Methods Plot Types Description Bar a plot where each bar represents the frequency of observations for a ‘group’ Histogram a plot where each bar represents the frequency of observations for a ‘given range of values’ Density an estimation of the frequency distribution based on the sample data Quantile-Quantile a plot of the actual data values against a normal distribution Box-Whisker a visual representation of median, quartiles, symmetry, skewness, and outliers Scatter & Line a graphical display of one variable plotted on the x axis and another on the y axis Table 3.3: Comparison of R’s 3 Graphing Systems and their Equivalent Functions for Plotting Plot Types Base R lattice ggplot geoms Bar barplot() barchart() geom_bar() Histogram hist() histogram() geom_histogram() Density plot(density()) densityplot() geom_density() Quantile-Quantile qqnorm() qq() geom_qq() Box-Whisker boxplot() bwplot() geom_boxplot() Scatter & Line plot() xyplot geom_point() 3.7.1 Distributions 3.7.2 Bar Plot A bar plot is a graphical display of the frequency (i.e. number of observations (count or n)), such as soil texture, that fall within a given class. It is a graphical alternative to to the table() function. library(ggplot2) # bar plot ggplot(h, aes(x = texcl)) + geom_bar() 3.7.3 Histogram A histogram is similar to a bar plot, except that instead of summarizing categorical data, it categorizes a continuous variable like clay content into non-overlappying intervals for the sake of display. The number of intervals can be specified by the user, or can be automatically determined using an algorithm, such as nclass.Sturges(). Since histograms are dependent on the number of bins, for small datasets they’re not the best method of determining the shape of a distribution. ggplot(h, aes(x = clay)) + geom_histogram(bins = nclass.Sturges(h$clay)) 3.7.4 Density Curve A density estimation, also known as a Kernel density plot, generally provides a better visualization of the shape of the distribution in comparison to the histogram. Compared to the histogram where the y-axis represents the number or percent (i.e., frequency) of observations, the y-axis for the density plot represents the probability of observing any given value, such that the area under the curve equals one. One curious feature of the density curve is the hint of two peaks (i.e. bimodal distribution?). Given that our sample includes a mixture of surface and subsurface horizons, we may have two different populations. However, considering how much the two distributions overlap, it seems impractical to separate them in this instance. ggplot(h, aes(x = clay)) + geom_density() 3.7.5 Box plots Box plots are a graphical representation of the five number summary, depicting quartiles (i.e. the 25%, 50%, and 75% quantiles), minimum, maximum and outliers (if present). Boxplots convey the shape of the data distribution, the presence of extreme values, and the ability to compare with other variables using the same scale, providing an excellent tool for screening data, determining thresholds for variables and developing working hypotheses. The parts of the boxplot are shown in the figure below. The “box” of the boxplot is defined as the 1st quartile and the 3rd quartile. The median, or 2nd quartile, is the dark line in the box. The whiskers (typically) show data that is 1.5 * IQR above and below the 3rd and 1st quartile. Any data point that is beyond a whisker is considered an outlier. That is not to say the outlier points are in error, just that they are extreme compared to the rest of the data set. However, you may want to evaluate these points to ensure that they are correct. ggplot(h, aes(x = genhz, y = clay)) + geom_boxplot() The above box plot shows a steady increase in clay content with depth. Notice the outliers in the box plots, identified by the individual circles. 3.7.6 Quantile comparison plots (QQplot) A QQ plot is a plot of the actual data values against a normal distribution (which has a mean of 0 and standard deviation of 1). # QQ Plot for Clay ggplot(h, aes(sample = clay)) + geom_qq() + geom_qq_line() # QQ Plot for Frags ggplot(h, aes(sample = total_frags_pct)) + geom_qq() + geom_qq_line() If the data set is perfectly symmetric (i.e. normal), the data points will form a straight line. Overall this plot shows that our clay example is more or less symmetric. However the second plot shows that our rock fragments are far from evenly distributed. A more detailed explanation of QQ plots may be found on Wikipedia: https://en.wikipedia.org/wiki/QQ_plot 3.7.7 The ‘Normal’ distribution What is a normal distribution and why should you care? Many statistical methods are based on the properties of a normal distribution. Applying certain methods to data that are not normally distributed can give misleading or incorrect results. Most methods that assume normality are robust enough for all data except the very abnormal. This section is not meant to be a recipe for decision making, but more an extension of tools available to help you examine your data and proceed accordingly. The impact of normality is most commonly seen for parameters used by pedologists for documenting the ranges of a variable (i.e., Low, RV and High values). Often a rule-of thumb similar to: “two standard deviations” is used to define the low and high values of a variable. This is fine if the data are normally distributed. However, if the data are skewed, using the standard deviation as a parameter does not provide useful information of the data distribution. The quantitative measures of Kurtosis (peakedness) and Skewness (symmetry) can be used to assist in accessing normality and can be found in the fBasics package, but Webster (2001) cautions against using significance tests for assessing normality. The preceding sections and chapters will demonstrate various methods to cope with alternative distributions. A Gaussian distribution is often referred to as “Bell Curve”, and has the following properties: Gaussian distributions are symmetric around their mean The mean, median, and mode of a Gaussian distribution are equal The area under the curve is equal to 1.0 Gaussian distributions are denser in the center and less dense in the tails Gaussian distributions are defined by two parameters, the mean and the standard deviation 68% of the area under the curve is within one standard deviation of the mean Approximately 95% of the area of a Gaussian distribution is within two standard deviations of the mean Viewing a histogram or density plot of your data provides a quick visual reference for determining normality. Distributions are typically normal, Bimodal or Skewed: Examples of different types of distributions Occasionally distributions are Uniform, or nearly so: With the loafercreek dataset the mean and median for clay were only slightly different, so we can safely assume that we have a normal distribution. However many soil variables often have a non-normal distribution. For example, let’s look at graphical examination of the mean vs. median for clay and rock fragments: The solid lines represent the breakpoint for the mean and standard deviations. The dashed lines represents the median and quantiles. The median is a more robust measure of central tendency compared to the mean. In order for the mean to be a useful measure, the data distribution must be approximately normal. The further the data departs from normality, the less meaningful the mean becomes. The median always represents the same thing independent of the data distribution, namely, 50% of the samples are below and 50% are above the median. The example for clay again indicates that distribution is approximately normal. However for rock fragments, we commonly see a long tailed distribution (e.g., skewed). Using the mean in this instance would overestimate the rock fragments. Although in this instance the difference between the mean and median is only 9 percent. 3.7.8 Scatterplots and Line Plots Plotting points of one ratio or interval variable against another is a scatter plot. Plots can be produced for a single or multiple pairs of variables. Many independent variables are often under consideration in soil survey work. This is especially common when GIS is used, which offers the potential to correlate soil attributes with a large variety of raster datasets. The purpose of a scatterplot is to see how one variable relates to another. With modeling in general the goal is parsimony (i.e., simple). The goal is to determine the fewest number of variables required to explain or describe a relationship. If two variables explain the same thing, i.e., they are highly correlated, only one variable is needed. The scatterplot provides a perfect visual reference for this. Create a basic scatter plot using the loafercreek dataset. # scatter plot ggplot(h, aes(x = clay, y = hzdepm)) + geom_point() + ylim(100, 0) # line plot ggplot(h, aes(y = clay, x = hzdepm, group = peiid)) + geom_line() + coord_flip() + xlim(100, 0) This plots clay on the X axis and depth on the X axis. As shown in the scatterplot above, there is a moderate correlation between these variables. The function below produces a scatterplot matrix for all the numeric variables in the dataset. This is a good command to use for determining rough linear correlations for continuous variables. library(GGally) h %>% select(hzdepm, clay, phfield, total_frags_pct) %>% ggpairs() 3.7.9 3rd Dimension - Color, Shape, Size, Layers, etc… 3.7.9.1 Color and Groups # scatter plot ggplot(h, aes(x = clay, y = hzdepm, color = genhz)) + geom_point(size = 3) + ylim(100, 0) # density plot ggplot(h, aes(x = clay, color = genhz)) + geom_density(size = 2) # bar plot ggplot(h, aes(x = genhz, fill = texture_class)) + geom_bar() # box plot ggplot(h, aes(x = genhz, y = clay)) + geom_boxplot() # heat map (pseudo bar plot) s <- aqp::site(loafercreek) ggplot(s, aes(x = landform_string, y = pmkind)) + geom_tile(alpha = 0.2) 3.7.9.2 Facets - box plots library(tidyr) # convert to long format df <- h %>% select(peiid, genhz, hzdepm, clay, phfield, total_frags_pct) %>% pivot_longer(cols = c("clay", "phfield", "total_frags_pct")) ggplot(df, aes(x = genhz, y = value)) + geom_boxplot() + xlab("genhz") + facet_wrap(~ name, scales = "free_y") 3.7.9.3 Facets - depth plots data(loafercreek, package = "soilDB") s <- aqp::slab(loafercreek, fm = ~ clay + phfield + total_frags_pct, slab.structure = 0:100, slab.fun = function(x) quantile(x, c(0.1, 0.5, 0.9), na.rm = TRUE)) ggplot(s, aes(x = top, y = X50.)) + # plot median geom_line() + # plot 10th & 90th quantiles geom_ribbon(aes(ymin = X10., ymax = X90., x = top), alpha = 0.2) + # invert depths xlim(c(100, 0)) + # flip axis coord_flip() + facet_wrap(~ variable, scales = "free_x") 3.8 Exercise 3: Graphical Methods Add to your existing R script from Exercise 2. Create a faceted boxplot of genhz vs gravel and phfield. Create a facted depth plot for gravel and phfield Save your R script, and forward to your instructor. 3.9 Transformations Slope aspect and pH are two common variables warranting special consideration for pedologists. 3.9.1 pH There is a recurring debate as to the best way to average pH since is it a log transformed variable. Remember, pHs of 6 and 5 correspond to hydrogen ion concentrations of 0.000001 and 0.00001 respectively. The actual average is 5.26; -log10((0.000001 + 0.00001) / 2). If no conversions are made for pH, the mean and sd in the summary are considered the geometric mean and sd, not the arithmetic. The wider the pH range, the greater the difference between the geometric and arithmetic mean. The difference between the arithmetic average of 5.26 and the geometric average of 5.5 is small. Boyd, Tucker, and Viriyatum (2011) examined the issue in detail, and suggests that regardless of the method is used it should be documented. If you have a table with pH values and wish to calculate the arithmetic mean using R, this example will work: # arithmetic mean log10(mean(1/10^-h$phfield, na.rm = TRUE)) ## [1] 6.371026 # geometric mean mean(h$phfield, na.rm = TRUE) ## [1] 6.18 3.9.2 Circular data Slope aspect - requires the use of circular statistics for numerical summaries, or graphical interpretation using circular plots. For example, if soil map units being summarized have a uniform distribution of slope aspects ranging from 335 degrees to 25 degrees, the Zonal Statistics tool in ArcGIS would return a mean of 180. The most intuitive means available for evaluating and describing slope aspect are circular plots available with the circular package in R and the radial plot option in the TEUI Toolkit. The circular package in R will also calculate circular statistics like mean, median, quartiles etc. library(circular) # Extract the site table s <- aqp::site(loafercreek) aspect <- s$aspect_field aspect <- circular(aspect, template="geographic", units="degrees", modulo="2pi") summary(aspect) ## n Min. 1st Qu. Median Mean 3rd Qu. Max. Rho NA's ## 101.0000 12.0000 255.0000 195.0000 199.5000 115.0000 20.0000 0.1772 5.0000 The numeric output is fine, but a following graphic is more revealing, which shows the dominant Southwest slope aspect. rose.diag(aspect, bins = 8, col="grey") 3.9.3 Texture Class and Fine-earth Separates Many pedon descriptions include soil texture class and modifiers, but lack numeric estimates such as clay content and rock fragments percentage. This lack of “continuous” numeric data makes it difficult to analyze and estimate certain properties precisely. While numeric data on textural separates may be missing, it can still be estimated by the class ranges and averages. NASIS has many calculations used to estimate missing values. To facilitate this process in R, several new functions have recently been added to the aqp package. These new aqp functions are intended to impute missing values or check existing values. The ssc_to_texcl() function uses the same logic as the particle size estimator calculation in NASIS to classify sand and clay into texture class. The results are stored in data(soiltexture) and used by texcl_to_ssc() as a lookup table to convert texture class to sand, silt and clay. The function texcl_to_ssc() replicates the functionality described by Levi (2017). Unlike the other functions, texture_to_taxpartsize() is intended to be computed on weighted averages within the family particle size control section. Below is a demonstration of these new aqp R functions. library(aqp) library(soiltexture) # example of texcl_to_ssc(texcl) texcl <- c("s", "ls", "l", "cl", "c") test <- texcl_to_ssc(texcl) head(cbind(texcl, test)) # example of ssc_to_texcl() ssc <- data.frame(CLAY = c(55, 33, 18, 6, 3), SAND = c(20, 33, 42, 82, 93), SILT = c(25, 34, 40, 12, 4) ) texcl <- ssc_to_texcl(sand = ssc$SAND, clay = ssc$CLAY ) ssc_texcl <- cbind(ssc, texcl) head(ssc_texcl) # plot on a textural triangle TT.plot(class.sys = "USDA-NCSS.TT", tri.data = ssc_texcl, pch = 16, col = "blue" ) # example of texmod_to_fragvoltol() frags <- c("gr", "grv", "grx", "pgr", "pgrv", "pgrx") test <- texmod_to_fragvoltot(frags)[1:4] head(test) # example of texture_to_taxpartsize() tex <- data.frame(texcl = c("c", "cl", "l", "ls", "s"), clay = c(55, 33, 18, 6, 3), sand = c(20, 33, 42, 82, 93), fragvoltot = c(35, 15, 34, 60, 91) ) tex$fpsc <- texture_to_taxpartsize( texcl = tex$texcl, clay = tex$clay, sand = tex$sand, fragvoltot = tex$fragvoltot ) head(tex) 3.10 The Shiny Package Shiny is an R package which combines R programming with the interactivity of the web. install.packages("shiny") Methods for Use Online Locally The shiny package, created by RStudio, enables users to not only use interactive applications created by others, but to build them as well. 3.10.1 Online Easiest Method Click a Link: https://gallery.shinyapps.io/lake_erie_fisheries_stock_assessment_app/ Open a web browser Navigate to a URL The ability to use a shiny app online is one of the most useful features of the package. All of the R code is executed on a remote computer which sends the results over a live http connection. Very little is required of the user in order to obtain results. 3.10.2 Locally No Internet required once configured Install R and RStudio (done) Install Required packages (app dependent) Download, open in RStudio and click “Run App” The online method may be easy for the user, but it does require a significant amount of additional effort for the creator. We won’t get into those details here! The local method, however simply requires the creator to share a single app.R file. It is the user which needs to put forth the additional effort. 3.10.3 Web App Demonstration Online: https://usda.shinyapps.io/ncr_app/ Local: https://github.com/ncss-tech/vitrusa/raw/master/r11_smp_app/app.R Online apps such as the North Central Region Web App are useful tools, available for all to use during soil survey, ecological site development, or other evaluations. The North Central Region app is however limited to data which is already available online, such as SDA (Soil Data Access) and NASIS (National Soil Information System) Web Reports. It is also reliant on the successful operation of those data systems. If the NASIS Web Reports or SDA is down for maintenance, the app fails. Local apps have the ability to leverage local data systems more easily like NASIS or other proprietary data. 3.10.4 Troubleshooting Errors Reload the app and try again. (refresh browser, or click stop, and run app again in RStudio) When the app throws an error, it stops. All other tabs/reports will no longer function until the app is reloaded. Read the getting started section on the home page. This is a quick summary of tips to avoid issues, and will be updated as needed. Check to see if SDA and NASIS Web Reports are operational, if they aren’t working, then the app won’t work either. Double check your query inputs. (typos, wildcards, null data, and too much data, can be common issues) 5 minutes of inactivity will cause the connection to drop, be sure you are actively using the app. Run the app locally - the online app does not show console activity, which can be a big help when identifying problems. Check the app issues page to see if the issue you are experiencing is already documented. (Polite but not required) Contact the app author (john.hammerly@usda.gov) When you run into trouble, there are a few steps you can take on your own to get things working again. This list may help you get your issue resolved. If not, contact (john.hammerly@usda.gov) for assistance. 3.10.5 Shiny App Embedding Shiny apps are extremely versatile, they can be embedded into presentations, Markdown, or HTML Those same formats can also be embedded in to a shiny app. This is a very simple example of a shiny app which consists of an interactive dropdown menu which controls what region is displayed in the bar chart. Let’s take a look at the code. 3.10.5.1 Shiny App Code shinyApp( # Use a fluid Bootstrap layout ui = fluidPage( # Give the page a title titlePanel("Telephones by region"), # Generate a row with a sidebar sidebarLayout( # Define the sidebar with one input sidebarPanel( selectInput("region", "Region:", choices = colnames(datasets::WorldPhones)), hr(), helpText("Data from AT&T (1961) The World's Telephones.") ), # Create a spot for the barplot mainPanel( plotOutput("phonePlot") ) ) ), # Define a server function for the Shiny app server = function(input, output) { # Fill in the spot we created for a plot output$phonePlot <- renderPlot({ # Render a barplot barplot( datasets::WorldPhones[, input$region] * 1000, main = input$region, ylab = "Number of Telephones", xlab = "Year" ) }) } ) Shiny apps consist of a ui and a server. The ui is the part of the shiny app the user sees, the user interface. In the ui, a user can choose or enter inputs for processing and viewing the results. The server takes the inputs, performs some data processing and rendering of those inputs and generates the outputs for the ui to display. 3.10.6 Questions What new features in RStudio are available for you to use once the shiny package is installed? The Region 11 Web App uses which two data sources for reports? If an error occurs while using the Region 11 Web App, what should you do? Poll: A shiny app consists of: 3.10.7 Examples 3.10.7.1 NASIS Reports The NASIS Reports button is a link to a master list of NASIS Web reports for Regions 10 and 11. 3.10.7.2 Water Table The query method option allows you to choose between MUKEY, NATSYM, MUNAME. It also has a radio button for switching between flooding and ponding. Plots and Data Tables are on separate sub-menu items. 3.10.7.3 Organic Matter Same options as the Water Table Tab except no radio button. The query method option allows you to choose between MUKEY, NATSYM, MUNAME. Plots and Data Tables are on separate sub-menu items. 3.10.7.4 Project Report The project report can accept multiple projects. Use the semicolon (;) as a separator. You can also save a copy of the report by clicking the link below the submit button. 3.10.7.5 Project Extent Type in Year, type or select office and type project name for the Project extent query. Zoom and pan to view extent. Use the layers button to change the basemap or toggle layers. Click the link below the submit button to download a .zip containing the extent as a ESRI shapefile. 3.10.7.6 Long Range Plan Enter an office symbol to generate a long range plan report. 3.10.7.7 Interpretations Enter the national mapunit symbol to plot all available interpretations for the mapunit from SDA. 3.10.8 Work on your Own 3.10.8.1 Project Report Use the project report to generate a report on a project in your own area. Save the results and explain the results of pH plots for one of your components. 3.10.8.2 Project Extent Map an extent of a project. How many layers are available to choose from as a basemap? How many layers can be toggled on or off? 3.10.8.3 Long Range Plan Choose an office to generate a long range plan. What is the highest acreage project for 2025? ## Soil Reports One of the strengths of NASIS is that it that has many queries and reports to access the complex data. This makes it easy for the average user to load their data, process it and run numerous reports. 3.11 soilReports The soilReports R package is essentially just a collection of R Markdown (.Rmd) documents. R Markdown is a plain text markup format for creating reproducible, dynamic reports with R. These .Rmd files can be used to generate HTML, PDF, Word, Markdown documents with a variety of forms, templates and applications. Example report output can be found at the following link: https://github.com/ncss-tech/soilReports#example-output. Detailed instructions are provided for each report: https://github.com/ncss-tech/soilReports#choose-an-available-report Install the soilReports package. This package is updated regularly and should be installed from GitHub. # Install the soilReports package from GitHub remotes::install_github("ncss-tech/soilReports", dependencies = FALSE, build = FALSE) To view the list of available reports first load the package then use the listReports() function. # Load the soilReports package library(soilReports) # List reports listReports() ## name version ## 1 national/DT-report 1.0 ## 2 national/NASIS-site-export 1.0 ## 3 region11/component_summary_by_project 0.1 ## 4 region11/lab_summary_by_taxonname 1.0 ## 5 region11/mupolygon_summary_by_project 0.1 ## 6 region11/pedon_summary_by_taxonname 1.1 ## 7 region2/dmu-diff 0.7 ## 8 region2/dmu-summary 0.4 ## 9 region2/edit-soil-features 0.2.1 ## 10 region2/gdb-acreage 1.0 ## 11 region2/mlra-comparison-dynamic 0.1 ## 12 region2/mlra-comparison 2.0 ## 13 region2/mu-comparison-dashboard 0.0.0 ## 14 region2/mu-comparison 4.0.3 ## 15 region2/mu-summary 1 ## 16 region2/pedon-summary 1.0 ## 17 region2/QA-summary 0.6 ## 18 region2/shiny-pedon-summary 1.1 ## 19 region2/spatial-pedons 1.0 ## 20 templates/minimal 1.0 ## description ## 1 Create interactive data tables from CSV files ## 2 Export NASIS Sites to Spatial Layer ## 3 summarize component data for an MLRA project ## 4 summarize lab data from NASIS Lab Layer table ## 5 summarize mupolygon layer from a geodatabase ## 6 summarize field pedons from NASIS pedon table ## 7 Differences between select DMU ## 8 DMU Summary Report ## 9 Generate summaries of NASIS components for EDIT Soil Features sections ## 10 Geodatabase Mapunit Acreage Summary Report ## 11 compare MLRA/LRU-scale delineations, based on mu-comparison report ## 12 compare MLRA using pre-made, raster sample databases ## 13 interactively subset and summarize SSURGO data for input to `region2/mu-comparison` report ## 14 compare stack of raster data, sampled from polygons associated with 1-8 map units ## 15 summarize raster data for a large collection of map unit polygons ## 16 Generate summaries from NASIS pedons and associated spatial data ## 17 QA Summary Report ## 18 Interactively subset and summarize NASIS pedon data from one or more map units ## 19 Visualize NASIS pedons in interactive HTML report with overlays of SSURGO, STATSGO or custom polygons ## 20 A minimal soilReports template 3.11.1 Extending soilReports Each report in soilReports has a “manifest” that describes any dependencies, configuration files or inputs for your R Markdown report document. If you can identify these things it is easy to convert your own R-based analyses to the soilReports format. The .Rmd file allows R code and text with Markdown markup to be mingled in the same document and then “executed” like an R script. 3.11.2 Exercise: Run Shiny Pedon Summary The region2/shiny-pedon-summary report is an interactive Shiny-based report that uses flexdashboard to help the user subset and summarize NASIS pedons from a graphical interface. You can try a ShinyApps.io demo here The “Shiny Pedon Summary” allows one to rapidly generate reports from a large set of pedons in their NASIS selected set. The left INPUT sidebar has numerous options for subsetting pedon data. Specifically, you can change REGEX patterns for mapunit symbol, taxon name, local phase, and User Pedon ID. Also, you can use the drop down boxes to filter on taxon kind or compare different “modal”/RV pedons. Example: Analyzing the Loafercreek Taxadjuncts Create an instance of the region2/shiny-pedon-summary report with soilReports: # create new instance of reports library(soilReports) # set path for shiny-pedon-summary report instance shinyped.path <- "C:/workspace2/chapter3/shiny-pedon" # create directories (if needed) if(!dir.exists(shinyped.path)) dir.create(shinyped.path, recursive = TRUE) # get report dependencies reportSetup('region2/shiny-pedon-summary') # copy report contents to target path copyReport('region2/shiny-pedon-summary', outputDir = shinyped.path, overwrite = TRUE) Update the config.R file You can update the config.R file in “C:/workspace2/chapter3/shiny-pedon” (or wherever you installed the report) to use the soilDB datasets loafercreek and gopheridge by setting demo_mode <- TRUE. This is the simplest way to demonstrate how this report works. Alternately, when demo_mode <- FALSE, pedons will be loaded from your NASIS selected set. config.R also allows you to specify a shapefile for overlaying the points on – to determine mapunit symbol – as well as several raster data sources whose values will be extracted at point locations and summarized. The demo dataset does not use either of these by default, due to large file sizes. Furthermore, a default (very general) set of REGEX generalized horizon patterns is provided to assign generalized horizon labels for provisional grouping. These provided patterns are unlikely to cover ALL cases, and always need to be modified for final correlation. That said, they do a decent job of making a first-pass correlation for diverse types of soils. The default config.R settings use the general patterns: use_regex_ghz <- TRUE. You are welcome to modify the defaults. If you want to use the values you have populated in NASIS Pedon Horizon Component Layer ID, set use_regex_ghz <- FALSE. Run the report via shiny.Rmd This report uses the Shiny flexdashboard interface. Open up shiny.Rmd and click the “Run Document” button to start the report. This will load the pedon and spatial data specified in config.R. NOTE: If a Viewer Window does not pop-up right away, click the gear icon to the right of the “Run Document” button. Be sure the option “Preview in Window” is checked, then click “Run Document” again. All of the subset parameters are in the left-hand sidebar. Play around with all of these options – the graphs and plots in the tabs to the right will automatically update as you make changes. When you like what you have, you can export a non-interactive HTML file for your records. To do this, first, set the “Report name:” box to something informative – this will be your report output file name. Then, scroll down to the bottom of the INPUT sidebar and click “Export Report” button. Check the “output” folder (subdirectory of where you installed the report) for your results. 3.11.3 Exercise: Run Mapunit Comparison Another popular report in soilReports is the region2/mu-comparison report. This report uses constant density sampling (sharpshootR::constantDensitySampling()) to extract numeric and categorical values from multiple raster data sources that overlap a set of user-supplied polygons. In this example, we clip a small portion of SSURGO polygons from the CA630 soil survey area extent. We then select a small set of mapunit symbols (5012, 3046, 7083, 7085, 7088) that occur within the clipping extent. These mapunits have soil forming factors we expect to contrast with one another in several ways. You can inspect other mapunit symbols by changing mu.set in config.R. Download the demo data: # set up ch4 path and path for report mucomp.path <- "C:/workspace2/chapter3/mucomp" # create any directories that may be missing if(!dir.exists(mucomp.path)) { dir.create(mucomp.path, recursive = TRUE) } mucomp.zip <- file.path(mucomp.path, 'mucomp-data.zip') # download raster data, SSURGO clip from CA630, and sample script for clipping your own raster data download.file('https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_3-mucomp-data/mucomp-data.zip', mucomp.zip) unzip(mucomp.zip, exdir = mucomp.path, overwrite = TRUE) Create an instance of the region2/mu-comparison report with soilReports: # create new instance of reports library(soilReports) # get report dependencies reportSetup('region2/mu-comparison') # create report instance copyReport('region2/mu-comparison', outputDir = mucomp.path, overwrite = TRUE) If you want, you can now set up the default config.R that is created by copyReport() to work with your own data. OR you can use the “sample” config.R file (called new_config.R) in the ZIP file downloaded above. Run this code to replace the default config.R with the sample data config.R: # copy config file containing relative paths to rasters downloaded above file.copy(from = file.path(mucomp.path, "new_config.R"), to = file.path(mucomp.path, "config.R"), overwrite = TRUE) Open report.Rmd in the C:/workspace2/chapter3/mucomp folder and click the “Knit” button at the top of the RStudio source pane to run the report. Inspect the report output HTML file, as well as the spatial and tabular data output in the output folder. Question: What differences can you see between the five mapunit symbols that were analyzed? 3.11.4 Exercise: Run Lab Summary By Taxon Name Soil Report For another exercise you can use the region11/lab_summary_by_taxonname report report to summarize laboratory data for a soil series. This report requires you to get some data from the Pedon “NCSS Lab” tables in NASIS. 3.11.4.1 Requirements Data are properly populated, otherwise the report may fail. Common examples include: Horizon depths don’t lineup Either the Pedon or Site tables isn’t loaded ODBC connection to NASIS is set up Beware each report has a unique configuration file that may need to be edited. 3.11.4.2 Instructions Load your NASIS selected set. Run a query such as “POINT - Pedon/Site/NCSSlabdata by upedonid and Taxon Name” from the Region 11 report folder to load your selected set. Be sure to target both the site, pedon and lab layer tables. Remove from your selected set the pedons and sites you wish to exclude from the report. Copy the lab summary to your working directory. copyReport(reportName = "region11/lab_summary_by_taxonname", outputDir = "C:/workspace2/lab_sum") Examine the report folder contents. The report is titled report.Rmd. Notice there are several other support files. The parameters for the report are contained in the config.R file. Check or create a genhz_rules file for a soil series. In order to aggregate the pedons by horizon designation, a genhz_rules file (e.g., Miami_rules.R) is needed. See above. If none exists see the following job aid on how to create one, Assigning Generalized Horizon Labels. Pay special attention to how caret ^ and dollar $ symbols are used in REGEX. They function as anchors for the beginning and end of the string, respectively. A ^ placed before an A horizon, ^A, will match any horizon designation that starts with A, such as Ap, Ap1, but not something merely containing A, such as BA. Placing a $ after a Bt horizon, Bt$, will match any horizon designation that ends with Bt, such as 2Bt or 3Bt, but not something with a vertical subdivision, such as Bt2. Wrapping pattern with both ^ and $ symbols will result only in exact matches – i.e. that start and end with the contents between ^ and $. For example ^[AC]$, will only match A or C, not Ap, Ap2, or Cg. Execute the report. Command-line approach # Set report parameters series <- "Miami" genhz_rules <- "C:/workspace2/lab_sum/Miami_rules.R" # report file path report_path <- "C:/workspace2/lab_sum/report.Rmd" # Run the report render(input = report_path, output_dir = "C:/workspace2", output_file = "C:/workspace2/lab_sum.html", envir = new.env(), params = list(series = series, genhz_rules = genhz_rules ) ) Manual approach Open the report.Rmd, hit the Knit drop down arrow, and select Knit with Parameters. Save the report. The report is automatically saved upon creation in the same folder as the R report. However, it is given the same generic name as the R report (i.e., “C:/workspace/lab_sum/report.html”), and will be overwritten the next time the report is run. Therefore, if you wish to save the report, rename the .html file to a name of your choosing and/or convert it to a PDF. Also, beware when opening the .html file with Internet Explorer – be sure to click on “Allow blocked content” if prompted. Otherwise, Internet Explorer will alter the formatting of tables etc. within the document. Sample pedon report Brief summary of steps: Load your selected set with the pedon and site table for an existing GHL file, or make your own (highly encouraged) Run the lab_summary_by_taxonname.Rmd report on a soil series of your choice. Show your work and submit the results to your mentor. 3.12 Additional Reading (Exploratory Data Analysis) Healy, K., 2018. Data Visualization: a practical introduction. Princeton University Press. http://socviz.co/ Helsel, D.R., Hirsch, R.M., Ryberg, K.R., Archfield, S.A., and Gilroy, E.J., 2020, Statistical methods in water resources: U.S. Geological Survey Techniques and Methods, book 4, chap. A3, 458 p., https://doi.org/10.3133/tm4a3. [Supersedes USGS Techniques of Water-Resources Investigations, book 4, chap. A3, version 1.1.] Kabacoff, R.I., 2018. Data Visualization in R. https://rkabacoff.github.io/datavis/ Peng, R. D., 2016. Exploratory Data Analysis with R. Leanpub. https://bookdown.org/rdpeng/exdata/ Wilke, C.O., 2019. Fundamentals of Data Visualization. O’Reily Media, Inc. https://clauswilke.com/dataviz/ References Boyd, Claude E., Craig S. Tucker, and Rawee Viriyatum. 2011. “Interpretation of pH, Acidity, and Alkalinity in Aquaculture and Fisheries.” North American Journal of Aquaculture 73 (4): 403–8. https://doi.org/10.1080/15222055.2011.620861. Tukey, John Wilder. 1977. Exploratory Data Analysis. Addison-Wesley Series in Behavioral Science. Reading, Mass: Addison-Wesley Pub. Co. https://archive.org/details/exploratorydataa0000tuke_7616. Webster, R. 2001. “Statistics to Support Soil Research and Their Presentation.” European Journal of Soil Science 52 (2): 331–40. https://doi.org/10.1046/j.1365-2389.2001.00383.x. "],["spatial.html", "Chapter 4 Spatial Data in R 4.1 Objectives (Spatial Data) 4.2 Making Maps with R 4.3 Spatial Data Sources 4.4 Viewing Pedon Locations 4.5 Many Packages, Many Spatial Representations 4.6 Coordinate Reference Systems (CRS) 4.7 Load Required Packages 4.8 Download Example Data 4.9 Load Example MLRA Data 4.10 Raster data 4.11 Vector Data 4.12 Spatial Operations 4.13 Additional Reading (Spatial)", " Chapter 4 Spatial Data in R This chapter is a brief demonstration of possible ways to process spatial data in R. 4.1 Objectives (Spatial Data) Gain experience with creating, editing, and exporting spatial data objects in R. Learn about making maps with R Learn the basics of sf and sp representation of vector data Learn the basics of terra classes and functions Learn about some interfaces to NCSS spatial data sources Develop a strategy for navigating the many possible spatial data processing methods The next sections will require loading these libraries into the R session. # SPC and soil database interface library(aqp) library(soilDB) # "Simple Feature" (vector) data structures library(sf) # superseded by sf -- spatial object classes e.g. SpatialPoints/SpatialPolygons library(sp) # gridded data management / analysis library(terra) # superseded by terra library(raster) # interactive maps with leaflet library(mapview) There are many packages available for working with spatial data, however we only have time to cover introducing a few common libraries. A couple resources are linked here for 5 packages that provide different ways displaying spatial data graphically: tmap ggplot2, ggmap mapview mapdeck leaflet 4.2 Making Maps with R R has become a powerful tool for visualization and interaction with spatial data. There are many tools available for making maps with R! It is not all geostatistics and coordinate reference system transformations. There are powerful ways to automate your GIS workflow from beginning to end–from creating terrain derivatives from a source DEM, to high-quality, publication-ready maps and interactive HTML/JavaScript widgets. Making Maps with R (Nico Hahn). geocompr: Chapter 8 - Making maps with R 4.3 Spatial Data Sources Spatial data sources: “raster” and “vector” Raster data sources (grids/images): GeoTIFF, ERDAS, BIL, ASCII grid, WMS, … Vector data sources (points/lines/polygons): Shape File, ESRI File Geodatabase, KML, GeoJSON, GML, WFS, … Conventional data sources that can be upgraded to spatial data: NASIS/LIMS reports: typically point coordinates Web pages: GeoJSON, WKT, or point coordinates Excel file: typically point coordinates CSV files: typically point coordinates Photo EXIF information: typically point coordinates Here are some R-based interfaces to NCSS data sources via soilDB package. Functions that return tabular data which can be upgraded to spatial data: fetchNASIS(): NASIS “site” data contain x,y, fetchLDM(): KSSL “site” data from Lab Data Mart contain x,y coordinates fetchKSSL(): KSSL “site” data from SoilWeb contain x,y coordinates coordinates Functions that return spatial data: fetchSDA_spatial(): polygon, bounding box and centroid data from SSURGO, STATSGO and the sapolygon (Soil Survey Area Polygon) from Soil Data Access (SDA) fetchHenry(): sensor / weather station locations as points SDA_query(): SSURGO data as points, lines, polygons (via SDA) SDA_spatialQuery(): use points or polygons as a “query” to SDA seriesExtent() and taxaExtent(): extent of series and taxonomic classes derived from SSURGO (SoilWeb) in vector and raster format (800m resolution). The vector output is identical to series extents reported by Series Extent Explorer mukey.wcs() and ISSR800.wcs() provide an interface to gSSURGO (mukey), gNATSGO (mukey), and the ISSR-800 (gridded soil property) data. 4.4 Viewing Pedon Locations ( Introducing the sf package with mapview) 4.4.1 Plotting Geographic Data Plotting the data as an R graphic can give you some idea of how data look spatially and whether their distribution is what you expect. Typos are relatively common when coordinates are manually entered. Viewing the data spatially is a quick way to see if any points plot far outside of the geographic area of interest and therefore clearly have an error. # plot the locations of the gopheridge pedons with R # # Steps: # 1) create and inspect an sf data.frame object # 2) plot the data with mapview # load libraries library(aqp) library(soilDB) library(sf) library(mapview) # this creates sample gopheridge object in your environment data("gopheridge", package = "soilDB") # replace gopheridge object with fetchNASIS() (your data) # gopheridge <- fetchNASIS() # create simple features POINT geometry data.frame # st_as_sf(): convert data.frame to spatial simple features, with points in $geometry # st_crs(): set EPSG:4326 Coordinate Reference System (CRS) as Well-Known Text (WKT) gopher.locations <- st_as_sf( site(gopheridge), coords = c('x_std','y_std'), crs = st_crs(4326) ) # create interactive map with sfc_POINT object # use site_id in sf data.frame as labels mapview(gopher.locations, label = gopher.locations$site_id) 4.4.2 Exercise 1: Spatial Intro In this exercise, you will create an interactive map with the pedons in your selected set. Then you will export them to a shapefile. Modify the code snippets below to make an R plot and a shapefile of pedon data loaded from your NASIS selected set. You will plot pedon locations using the standard WGS84 longitude/latitude decimal degrees fields from Site table of NASIS. In some cases, these data might be incomplete; you need to handle this possibility. In this exercise you will create a subset SoilProfileCollection for the pedons that are not missing spatial data (x_std and y_std). Make a new R script, load the aqp, soilDB, sf and mapview packages and some pedons via fetchNASIS() (or similar source). library(aqp) library(soilDB) library(sf) library(mapview) # get pedons from the selected set pedons <- fetchNASIS(from = 'pedons') Use the base R subset() function to create a subset of your SoilProfileCollection using is.na() x_std and y_std variables contain WGS84 longitude and latitude in decimal degrees. This is the standard format for location information used in NASIS. # modify this code (replace ...) to create a subset pedons.sp <- aqp::subset(pedons, ...) Create a sf data.frame from the site data in the SoilProfileCollection object pedons.sp using aqp::site(). Replace the ... in the following code. Promoting a data.frame to sf POINT geometry requires that the X and Y columns be specified. pedon.locations <- sf::st_as_sf( ..., coords = c('x_std', 'y_std'), crs = sf::st_crs(4326) #WGS84 GCS ) View your sf object pedon.locations interactively with mapview::mapview(), and change the map.types argument to 'Esri.WorldImagery'. Use the pedon.locations column named site_id for the label argument. # plot an interactive map mapview(pedon.locations, legend = FALSE, map.types = 'OpenStreetMap', ...) Create a subset sf data.frame with only the following “site data” columns: pedlabsampnum, pedon_id, taxonname, hillslopeprof, elev_field, slope_field, aspect_field, plantassocnm, bedrckdepth, bedrckkind, pmkind, pmorigin. Select the target columns with dplyr::select() (or another method) by replacing the ... in the following code. pedon.locations_sub <- dplyr::select(pedon.locations, ...) # see also base::subset(x, select=...) Export the spatial information in pedon.locations_sub to a shape file (.shp) with sf::st_write() # write to SHP; output CRS is geographic coordinate system WGS84 sf::st_write(pedon.locations_sub, "./NASIS-pedons.shp") For an example of exporting data to shapefile with the sp package, see this tutorial: Export Pedons to Shapefile with sp. 4.5 Many Packages, Many Spatial Representations 4.5.1 The sf package Simple Features Access is a set of standards that specify a common storage and access model of geographic features. It is used mostly for two-dimensional geometries such as point, line, polygon, multi-point, multi-line, etc. This is one of many ways of modeling the geometry of shapes in the real world. This model happens to be widely adopted in the R ecosystem via the sf package, and very convenient for typical data encountered by soil survey operations. The sf package represents the latest and greatest in spatial data processing within the comfort of an R session. It provides a “main” object class sf to contain geometric data and associated tabular data in a familiar data.frame format. sf methods work on a variety of different levels of abstraction and manipulation of those geometries. Most of the sf package functions start with the prefix st_, such as: st_crs() (get/set coordinate reference system), st_transform() (project feature class to different coordinate reference system), st_bbox() (bounding box), st_buffer() (buffer). Many of these are “verbs” that are common GIS operations. 4.5.1.1 sf vignettes You can the following sf package vignettes for details, sample data sets and usage of sf objects. Simple Features for R Reading, Writing and Converting Simple Features Manipulating Simple Feature Geometries Manipulating Simple Features Plotting Simple Features Miscellaneous Spherical geometry in sf using s2geometry 4.5.2 The sp Package The data structures (“classes”) and functions provided by the sp package have served a foundational role in the handling of spatial data in R for years. Many of the following examples will reference names such as SpatialPoints, SpatialPointsDataFrame, and SpatialPolygonsDataFrame. These are specialized (S4) classes implemented by the sp package. Objects of these classes maintain linkages between all of the components of spatial data. For example, a point, line, or polygon feature will typically be associated with: coordinate geometry bounding box coordinate reference system attribute table 4.5.3 Converting sp and sf sp provides access to the same compiled code libraries (PROJ, GDAL, GEOS) through sf package. For now the different package object types are interchangeable, and you may find yourself having to do this for a variety of reasons. You can convert between object types as needed using sf::as_Spatial() or sf::st_as_sf(). Check the documentation (?functionname) to figure out what object types different methods need as input; and check an input object’s class with class() or inherits(). 4.5.4 Importing / Exporting Vector Data Import a feature class from a ESRI File Geodatabase or shape file. If you have a .shp file, you can specify the whole path, including the file extension in the dsn argument, or just the folder. For a Geodatabase, you should specify the feature class using the layer argument. Note that a trailing “/” is omitted from the dsn (data source name) and the “.shp” suffix is omitted from the layer. 4.5.4.1 sf x <- sf::st_read(dsn = 'E:/gis_data/ca630/FG_CA630_OFFICIAL.gdb', layer = 'ca630_a') x <- sf::read_sf(dsn = 'E:/gis_data/ca630/pedon_locations.shp') sf::st_write(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp') sf::write_sf(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp') 4.5.4.2 sp Export object x to shapefile using the sf syntax. rgdal is no longer available on CRAN. The sf st_read() / read_sf() / st_write() / write_sf() functions have many arguments, so it is worth spending some time reviewing the associated manual pages. 4.5.5 Interactive mapping with mapview and leaflet The mapview and leaflet packages make it possible to display interactive maps of sf objects in RStudio viewer pane, or within an HTML document generated via R Markdown (e.g. this document). mapview package Basics Advanced Features See other “Articles” in this series, you can make complex, interactive maps using the mapview package. leaflet package leafem: ‘leaflet’ Extensions for ‘mapview’ 4.5.6 Exercise 2: Map your favorite soil series extents The seriesExtent function in soilDB returns an sf object showing generalized extent polygons for a given soil series. # load required packages, just in case library(soilDB) library(sf) library(mapview) # series extents from SoilWeb (sf objects) pentz <- seriesExtent('pentz') amador <- seriesExtent('amador') # combine into a single object s <- rbind(pentz, amador) # colors used in the map # add more colors as needed cols <- c('royalblue', 'firebrick') # make a simple map, colors set by 'series' column mapview(s, zcol = 'series', col.regions = cols, legend = TRUE) The following code demonstrates how to fetch / convert / map soil series extents, using a vector of soil series names. Results appear in the RStudio “Viewer” pane. Be sure to try the “Export” and “show in window” (next to the broom icon) buttons. # load required packages, just in case library(soilDB) library(sf) library(mapview) # vector of series names, letter case does not matter # try several (2-9)! series.names <- c('auberry', 'sierra', 'holland', 'cagwin') # iterate over series names, get extent # result is a list of sf objects s <- lapply(series.names, soilDB::seriesExtent) # flatten list -> single sf object s <- do.call('rbind', s) # colors used in the map # note trick used to dynamically set the number of colors cols <- RColorBrewer::brewer.pal(n = length(series.names), name = 'Set1') # make a simple map, colors set by 'series' column # click on polygons for details # try pop-out / export buttons mapview(s, zcol = 'series', col.regions = cols, legend = TRUE) Question: What do you notice about the areas where the extent polygons occur? Share your thoughts with your peers or mentor 4.5.7 The terra Package The terra package package provides most of the commonly used grid and vector processing functionality that one might find in a conventional GIS. It provides high-level data structures and functions for the GDAL (Geospatial Data Abstraction Library). re-sampling / interpolation projection and warping (coordinate system transformations of gridded data) cropping, mosaicing, masking local and focal functions raster algebra contouring raster/vector conversions terrain analysis model-based prediction (more on this in Part 2) #### Importing / Exporting Rasters # use an example from the terra package f <- system.file("ex", "elev.tif", package = "terra") # corresponding luxembourg vector (polygon) data g <- system.file("ex", "lux.shp", package = "terra") r <- terra::rast(f) r ## class : SpatRaster ## dimensions : 90, 95, 1 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## source : elev.tif ## name : elevation ## min value : 141 ## max value : 547 v <- terra::vect(g) v ## class : SpatVector ## geometry : polygons ## dimensions : 12, 6 (geometries, attributes) ## extent : 5.74414, 6.528252, 49.44781, 50.18162 (xmin, xmax, ymin, ymax) ## source : lux.shp ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## names : ID_1 NAME_1 ID_2 NAME_2 AREA POP ## type : <num> <chr> <num> <chr> <num> <num> ## values : 1 Diekirch 1 Clervaux 312 1.808e+04 ## 1 Diekirch 2 Diekirch 218 3.254e+04 ## 1 Diekirch 3 Redange 259 1.866e+04 # convert r to a RasterLayer object r2 <- raster::raster(f) # show SpatRaster details print(r) ## class : SpatRaster ## dimensions : 90, 95, 1 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## source : elev.tif ## name : elevation ## min value : 141 ## max value : 547 # show RasterLayer details print(r2) ## class : RasterLayer ## dimensions : 90, 95, 8550 (nrow, ncol, ncell) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : elev.tif ## names : elevation ## values : 141, 547 (min, max) # default plot method plot(r) lines(v) # interactive (leaflet) plot method p <- plet(r, tiles = "OpenTopoMap") lines(p, v) The R object only stores a reference to the data until they are needed to be loaded into memory. This allows for internal raster manipulation algorithms to intelligently deal with very large grids that may not fit in memory. 4.5.7.1 Other approaches to raster data 4.5.7.1.1 raster A more complete background on the capabilities of the raster package, and the replacement terra, are described in the Spatial Data Science with R online book. Introduction to the raster package vignette 4.5.7.1.2 stars There is also a package called stars (Spatiotemporal Arrays: Raster and Vector Datacubes) that is the sf-centric way of dealing with higher dimensional raster and vector “datacubes.” Data cubes have dimensions related to time, spectral band, and sensor. The stars data structures are often used for processing satellite data sources. 4.5.7.2 Related Links sf package website rspatial.org - Spatial Data Science with R Goodbye PROJ.4 strings! How to specify a coordinate reference system in R? 4.5.8 Converting Vector to Raster 4.5.8.1 terra::rasterize() 4.5.8.2 raster::rasterize() 4.5.8.3 fasterize::fasterize() 4.6 Coordinate Reference Systems (CRS) Spatial data aren’t all that useful without an accurate description of the Coordinate Reference System (CRS). This type of information is typically stored within the “.prj” component of a shapefile, or in the header of a GeoTIFF. Without a CRS it is not possible to perform coordinate transformations (e.g. conversion of geographic coordinates to projected coordinates), spatial overlay (e.g. intersection), or geometric calculations (e.g. distance or area). The “old” way (PROJ.4) of specifying coordinate reference systems is using character strings containing, for example: +proj or +init arguments. In general, this still “works,” so you may encounter it and need to know about it. But you also may encounter cases where CRS are specified using integers, strings of the form authority:code, or well-known text (WKT). Some common examples of coordinate system “EPSG” codes and their legacy “PROJ.4” strings. 4 “EPSG” stands for European Petroleum Survey Group. The “EPSG Geodetic Parameter Dataset” is a public registry of geodetic datums, spatial reference systems, Earth ellipsoids, coordinate transformations and related units of measurement. “OGC” refers to the Open Geospatial Consortium, which is an example of another important authority:code. “ESRI” (company that develops ArcGIS) also defines many CRS codes. “PROJ” is the software responsible for transforming coordinates from one CRS to another. The current version of PROJ available is 9, and in PROJ > 6 major changes were made to the way that coordinate reference systems are defined and transformed led to the “PROJ.4” syntax falling out of favor. EPSG: 4326 / PROJ.4:+proj=longlat +datum=WGS84 - geographic, WGS84 datum (NASIS Standard) OGC:CRS84 - geographic, WGS84 datum (same as above but explicit longitude, latitude XY order) EPSG: 4269 / PROJ.4:+proj=longlat +datum=NAD83 - geographic, NAD83 datum EPSG: 4267 / PROJ.4:+proj=longlat +datum=NAD27 - geographic, NAD27 datum EPSG: 26910 / PROJ.4:+proj=utm +zone=10 +datum=NAD83 - projected (UTM zone 10), NAD83 datum EPSG: 5070 / PROJ.4: +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23.0 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs - Albers Equal Area CONUS (gSSURGO) More on the EPSG codes and specifics of CRS definitions: https://spatialreference.org/ref/epsg/ https://epsg.io/ While you may encounter PROJ.4 strings, these are no longer considered the preferred method of referencing Coordinate Reference Systems – and, in general, newer methods are “easier.” Well-known text (WKT) is a human- machine-readable standard format for geometry, so storing the Coordinate Reference System information in a similar format makes sense. This format is returned by the sf::st_crs() method. For example: the WKT representation of EPSG:4326: st_crs(4326) ## Coordinate Reference System: ## User input: EPSG:4326 ## wkt: ## GEOGCRS["WGS 84", ## ENSEMBLE["World Geodetic System 1984 ensemble", ## MEMBER["World Geodetic System 1984 (Transit)"], ## MEMBER["World Geodetic System 1984 (G730)"], ## MEMBER["World Geodetic System 1984 (G873)"], ## MEMBER["World Geodetic System 1984 (G1150)"], ## MEMBER["World Geodetic System 1984 (G1674)"], ## MEMBER["World Geodetic System 1984 (G1762)"], ## MEMBER["World Geodetic System 1984 (G2139)"], ## MEMBER["World Geodetic System 1984 (G2296)"], ## ELLIPSOID["WGS 84",6378137,298.257223563, ## LENGTHUNIT["metre",1]], ## ENSEMBLEACCURACY[2.0]], ## PRIMEM["Greenwich",0, ## ANGLEUNIT["degree",0.0174532925199433]], ## CS[ellipsoidal,2], ## AXIS["geodetic latitude (Lat)",north, ## ORDER[1], ## ANGLEUNIT["degree",0.0174532925199433]], ## AXIS["geodetic longitude (Lon)",east, ## ORDER[2], ## ANGLEUNIT["degree",0.0174532925199433]], ## USAGE[ ## SCOPE["Horizontal component of 3D system."], ## AREA["World."], ## BBOX[-90,-180,90,180]], ## ID["EPSG",4326]] This is using the OGC WKT CRS standard. Adoption of this standard caused some significant changes in packages in the R ecosystem. So you can get familiar, what follows are several examples of doing the same thing: setting the CRS of spatial objects with WGS84 longitude/latitude geographic coordinates. If you have another target coordinate system, it is just a matter of using the correct codes to identify it. 4.6.1 Assigning and Transforming Coordinate Systems Returning to the example from above, lets assign a CRS to our series extent s using different methods. s <- seriesExtent('san joaquin') The following sections give equivalent sf versus sp syntax. 4.6.1.1 sf Use st_crs<- to set, or st_crs() get CRS of sf objects. Supply the target EPSG code as an integer. # the CRS of s is EPSG:4326 st_crs(s) == st_crs(4326) ## [1] TRUE # set CRS using st_crs<- (replace with identical value) st_crs(s) <- st_crs(4326) Transformation of points, lines, and polygons with sf requires an “origin” CRS be defined in the argument x. The “target” CRS is defined as an integer (EPSG code) in the crs argument or is the output of st_crs(). # transform to UTM zone 10 s.utm <- st_transform(x = s, crs = 26910) # transform to GCS NAD27 s.nad27 <- st_transform(x = s, crs = st_crs(4267)) 4.6.1.2 sp You can do the same thing several different ways with sp objects. An equivalent EPSG, OGC and PROJ.4 can be set or get using proj4string<-/proj4string and either a sp CRS object or a PROJ.4 string for Spatial objects. # s is an sf object (we converted it), convert back to Spatial* object s.sp <- sf::as_Spatial(s) # these all create the same internal sp::CRS object proj4string(s.sp) <- sp::CRS('EPSG:4326') # proj >6; EPSG proj4string(s.sp) <- sp::CRS('OGC:CRS84') # proj >6; OGC proj4string(s.sp) <- '+init=epsg:4326' # proj4 style +init string proj4string(s.sp) <- '+proj=longlat +datum=WGS84' # proj4 style +proj string Here, we do the same transformations we did above only using sp: spTransform(). # transform to UTM zone 10 s.utm <- spTransform(s.sp, CRS('+proj=utm +zone=10 +datum=NAD83')) # transform to GCS NAD27 s.nad27 <- spTransform(s.sp, CRS('+proj=longlat +datum=NAD27')) 4.6.1.3 terra and raster To assign or get the coordinate reference system for raster, terra or sp CRS objects use the crs() functions. r <- terra::rast(system.file("ex", "elev.tif", package="terra")) # inspect CRS terra::crs(r) # r is a SpatRaster object; set CRS to current CRS terra::crs(r) <- terra::crs("OGC:CRS84") “Transforming” or “warping” a raster is a different from with a vector as it requires interpolation of pixels to a target resolution and CRS. The method provided by terra is project() and in raster it is projectRaster(). It works the same as the above “transform” methods in that you specify an object to transform, and the target reference system or a template for the object. t.wgs84 <- terra::project(r, terra::crs("+proj=igh")) r.wgs84 <- raster::projectRaster(raster::raster(r), crs = CRS("+proj=igh")) Note that the default warping of raster uses bilinear interpolation (method='bilinear'), which is appropriate for continuous variables. You also have the option of using nearest-neighbor (method='ngb') for categorical variables (class maps) where interpolation would not make sense. If we want to save this transformed raster to file, we can use something like this for terra terra::writeRaster(t.wgs84, filename='s_wgs84.tif', gdal=c("COMPRESS=LZW")) Similarly for raster: terra::writeRaster(r.wgs84, filename='s_wgs84.tif', gdal=c("COMPRESS=LZW")) 4.7 Load Required Packages Load required packages into a fresh RStudio Session (Ctrl + Shift + F10) library(aqp) library(soilDB) library(sf) library(terra) 4.8 Download Example Data Run the following to create a path for the example data. Be sure to set a valid path to a local disk. # store path as a variable, in case you want to keep it somewhere else ch4.data.path <- 'C:/workspace2/chapter-4' # make a place to store chapter 2b example data dir.create(ch4.data.path, recursive = TRUE) # download polygon example data from github download.file( 'https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_4-spatial-data/chapter-4-mu-polygons.zip', file.path(ch4.data.path, 'chapter-4-mu-polygons.zip') ) # download raster example data from github download.file( 'https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_4-spatial-data/chapter-4-PRISM.zip', file.path(ch4.data.path, 'chapter-4-PRISM.zip') ) # unzip unzip( file.path(ch4.data.path, 'chapter-4-mu-polygons.zip'), exdir = ch4.data.path, overwrite = TRUE ) unzip( file.path(ch4.data.path, 'chapter-4-PRISM.zip'), exdir = ch4.data.path, overwrite = TRUE ) 4.9 Load Example MLRA Data We will be using polygons associated with MLRA 15 and 18 as part of this demonstration. Import these data with sf::st_read(). # load MLRA polygons mlra <- sf::st_read(file.path(ch4.data.path, 'mlra-18-15-AEA.shp')) ## alternately, use your own MLRA # mlra <- soilDB::fetchSDA_spatial(c("15", "18"), by.col="MLRARSYM", geom.src = "MLRAPOLYGON") |> sf::st_transform("EPSG:5070") We will load the sample MLRA 15 and 18 (California) raster data (PRISM derived) using terra::rast(). If using your own MLRA, you will need to update file paths to use your own rasters. # mean annual air temperature, Deg C maat <- terra::rast(file.path(ch4.data.path, 'MAAT.tif')) # mean annual precipitation, mm map <- terra::rast(file.path(ch4.data.path, 'MAP.tif')) # frost-free days ffd <- terra::rast(file.path(ch4.data.path, 'FFD.tif')) # growing degree days gdd <- terra::rast(file.path(ch4.data.path, 'GDD.tif')) # percent of annual PPT as rain rain_fraction <- terra::rast(file.path(ch4.data.path, 'rain_fraction.tif')) # annual sum of monthly PPT - ET_p ppt_eff <- terra::rast(file.path(ch4.data.path, 'effective_precipitation.tif')) Sometimes it is convenient to “stack” raster data that share a common grid size, extent, and coordinate reference system into a multilayer terra SpatRaster object. Calling terra::rast() on a list of SpatRaster is equivalent to making a RasterStack from several RasterLayer with raster::stack(). # create a raster stack (multiple rasters aligned) rs <- terra::rast(list(maat, map, ffd, gdd, rain_fraction, ppt_eff)) # inspect rs ## class : SpatRaster ## dimensions : 762, 616, 6 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : -123.2708, -118.1375, 34.44583, 40.79583 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat NAD83 (EPSG:4269) ## sources : MAAT.tif ## MAP.tif ## FFD.tif ## ... and 3 more sources ## names : MAAT, MAP, FFD, GDD, rain_~ction, effec~ation ## min values : -4.073542, 114, 35, 76, 12, -825.5897 ## max values : 18.676420, 2958, 365, 3173, 100, 2782.3914 plot(rs) 4.10 Raster data 4.10.1 Object Properties SpatRaster and RasterLayer objects are similar to sf, sp and other R spatial objects in that they keep track of the linkages between data, coordinate reference system, and optional attribute tables. Getting and setting the contents of raster objects should be performed using functions such as: terra::NAflag(r) / raster::NAvalue(r): get / set the NODATA value terra::crs(r) / raster::wkt(r) : get / set the coordinate reference system terra::res(r) / raster::res(r): get / set the resolution terra::ext(r) / raster::extent(r): get / set the extent terra::datatype(r) / raster::dataType(r): get / set the data type … many more, see the raster and terra package manuals 4.10.2 Rasters “In Memory” v.s. “File-Based” Processing of raster data in memory is always faster than processing on disk, as long as there is sufficient memory. The terra package handles basically all of the logic delegating in v.s. out of memory processing internally–so it is rare that any adjustments to defaults are required. With the raster package, the initial file/disk-based reference can be converted to an in-memory RasterLayer with the readAll() function. You can achieve a similar effect in terra by doing set.values(object). 4.10.3 Writing Rasters to File Exporting data requires consideration of the output format, datatype, encoding of NODATA, and other options such as compression. With terra, “LZW” compression is used by default when writing GeoTIFF files. Using the gdal argument e.g.: terra::writeRaster(..., gdal=) is equivalent to specifying option argument to raster::writeRaster(). # using previous example data set terra::writeRaster(t.wgs84, filename = 't.wgs84.tif') For example, a RasterLayer object that you wanted to save to disk as an internally-compressed GeoTIFF: # using previous example data set raster::writeRaster(r.wgs84, filename = 'r.tif', options = c("COMPRESS=LZW")) 4.10.4 Data Types Commonly used raster datatype include: “unsigned integer”, “signed integer”, and “floating point” of variable precision. INT1U: integers from 0 to 255 INT2U: integers from 0 to 65,534 INT2S: integers from -32,767 to 32,767 INT4S: integers from -2,147,483,647 to 2,147,483,647 FLT4S: floating point from -3.4e+38 to 3.4e+38 FLT8S: floating point from -1.7e+308 to 1.7e+308 It is wise to manually specify an output datatype that will “just fit” the required precision. For example, if you have generated a RasterLayer that warrants integer precision and ranges from 0 to 100, then the INT1U data type would provide enough precision to store all possible values and the NODATA value. Raster data stored as integers will always be smaller (sometimes 10-100x) than those stored as floating point, especially when internal compression is enabled. # integer grid with a range of 0-100 # maybe soil texture classes raster::writeRaster(r, filename = 'r.tif', datatype = 'INT1U') # floating point grid with very wide range # maybe DSM soil property model output terra::writeRaster(t.wgs84, filename = 'r.tif', datatype = 'FLT4S') 4.10.4.1 Notes on Compression It is often a good idea to create internally-compressed raster data. The GeoTiff format can accommodate many different compression algorithms, including lossy (JPEG) compression. Usually, the default “LZW” or “DEFLATE” compression will result in significant savings, especially for data encoded as integers. For example, the CONUS gSSURGO map unit key grid at 30m resolution is about 55Gb (GeoTiff, no compression) vs. 2.4Gb after LZW compression. # reasonable compression using LZW is the default, compare to raster::writeRaster(r, filename='r.tif', options=c("COMPRESS=NONE")) # takes longer to write the file, but better compression terra::writeRaster(t.wgs84, filename='r.tif', gdal=c("COMPRESS=DEFLATE", "PREDICTOR=2", "ZLEVEL=9") See this article for some ideas on optimization of file read/write times and associated compressed file sizes. 4.11 Vector Data 4.11.1 sf p <- sf::st_as_sf(data.frame(x = -120, y = 37.5), coords = c("x", "y"), crs = 4326) p.aea <- st_transform(p, "EPSG:5070") In sf the functions used to do this are st_intersects() or st_intersection(). st_intersects(p.aea, mlra) ## Sparse geometry binary predicate list of length 1, where the predicate was `intersects' ## 1: 2 st_intersection(p.aea, mlra) ## Simple feature collection with 1 feature and 5 fields ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: -2079434 ymin: 1870764 xmax: -2079434 ymax: 1870764 ## Projected CRS: NAD83 / Conus Albers ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME ## 1 18 23 Sierra Nevada Foothills C California Subtropical Fruit, Truck, and Specialty Crop Region ## geometry ## 1 POINT (-2079434 1870764) 4.11.2 terra p <- terra::vect(data.frame(x = -120, y = 37.5), geom = c("x", "y"), crs = "EPSG:4326") p.aea <- project(p, "EPSG:5070") In terra the functions used to determine the intersection is relate(). mlra[relate(vect(mlra), p.aea, relation = "intersects"), ] ## Simple feature collection with 1 feature and 5 fields ## Geometry type: POLYGON ## Dimension: XY ## Bounding box: xmin: -2181926 ymin: 1548989 xmax: -1970476 ymax: 2264711 ## Projected CRS: Albers ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME ## 2 18 23 Sierra Nevada Foothills C California Subtropical Fruit, Truck, and Specialty Crop Region ## geometry ## 2 POLYGON ((-2160599 2264711,... 4.11.3 sp In sp objects, you do these operations with the sp::over() function. Access the associated vignette by pasting vignette(\"over\") in the console when the sp package is loaded. # hand make a SpatialPoints object # note that this is GCS p <- SpatialPoints(coords = cbind(-120, 37.5), proj4string = CRS('+proj=longlat +datum=WGS84')) mlra.sp <- sf::as_Spatial(mlra) # spatial extraction of MLRA data requires a CRS transformation p.aea <- spTransform(p, proj4string(mlra.sp)) over(p.aea, mlra.sp) 4.12 Spatial Operations Spatial data are lot more useful when “related” (overlay, intersect, spatial query, etc.) to generate something new. The CRS of the two objects being overlaid must match. 4.12.1 Working with Vector and Raster Data Typically, spatial queries of raster data by geometry features (point, line, polygon) are performed in two ways: For each geometry, collect all pixels that overlap (exactextractr approach) For each geometry, collect a sample of pixels defined by sampling points The first method ensures that all data are included in the analysis, however, processing can be slow for multiple/detailed rasters, and the results may not fit into memory. The second method is more efficient (10-100x faster), requires less memory, and can remain statistically sound–as long as a reasonable sampling strategy is applied. Sampling may also help you avoid low-acreage “anomalies” in the raster product. More on sampling methods in the next chapter. The extract() function can perform several operations in one call, such as buffering (in projected units) with buffer argument. See the manual page for an extensive listing of optional arguments and what they do. Sampling and extraction with terra the results in a SpatVector object. Sampling and extraction with raster methods results in a matrix object. # sampling single layer SpatRaster terra::spatSample(maat, size = 10) ## MAAT ## 1 16.578894 ## 2 NA ## 3 NA ## 4 6.837877 ## 5 16.863897 ## 6 9.115631 ## 7 NA ## 8 11.289998 ## 9 15.833284 ## 10 11.644434 # sampling SpatRaster terra::spatSample(rs, size = 10) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## 1 17.73759 318 314 2953 100 -603.749451 ## 2 NA NA NA NA NA NA ## 3 NA NA NA NA NA NA ## 4 NA NA NA NA NA NA ## 5 10.53199 171 160 1799 90 -462.018341 ## 6 15.71911 390 360 2318 100 -366.469574 ## 7 NA NA NA NA NA NA ## 8 10.91971 168 163 1852 94 -485.393463 ## 9 16.33239 856 314 2564 98 -1.546245 ## 10 NA NA NA NA NA NA par(mfcol = c(1, 2), mar = c(1, 1, 3, 1)) # regular sampling + extraction of raster values x.regular <- terra::spatSample( maat, method = "regular", size = 100, as.points = TRUE ) x.regular ## class : SpatVector ## geometry : points ## dimensions : 96, 1 (geometries, attributes) ## extent : -123.2667, -118.1417, 34.64167, 40.6 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat NAD83 (EPSG:4269) ## names : MAAT ## type : <num> ## values : NA ## 16.41 ## 11 # see also raster::sampleRegular() plot(maat, axes = FALSE, legend = FALSE, main = 'Regular Sampling') points(x.regular) # random sample + extraction of raster values # note that NULL values are removed x.random <- terra::spatSample( maat, size = 100, as.points = TRUE, na.rm = TRUE ) # see also raster::sampleRandom() plot(maat, axes = FALSE, legend = FALSE, main = 'Random Sampling with NA Removal') points(x.random) Note that the mean can be efficiently estimated, even with a relatively small number of samples. # all values: slow for large grids mean(terra::values(maat), na.rm = TRUE) # regular sampling: efficient, central tendency comparable to above mean(x.regular$MAAT, na.rm = TRUE) # this value will be pseudorandom # depends on number of samples, pattern of NA mean(x.random$MAAT, na.rm = TRUE) Just how much variation can we expect when collecting 100, randomly-located samples over such a large area? # 10 replications of samples of n=100 z <- replicate(10, { mean(terra::spatSample(maat, size = 100, na.rm = TRUE)$MAAT, na.rm = TRUE) }) # 90% of the time the mean MAAT values were within: quantile(z, probs = c(0.05, 0.95)) Do the above routine 100 times: compute the mean MAAT from 100 randomly-located samples. Does it make a difference in your estimates? # MLRA polygons in native coordinate system plot(sf::st_geometry(mlra), main = 'MLRA 15 and 18') box() # MAAT raster plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)') # plot MAAT raster with MLRA polygons on top # this requires transforming to CRS of MAAT mlra.gcs <- sf::st_transform(mlra, sf::st_crs(maat)) plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)') plot(sf::st_geometry(mlra.gcs), main = 'MLRA 15 and 18', add = TRUE) 4.12.2 Exercise 3: Extracting Raster Data 4.12.2.1 Raster Summary By Point: NASIS Pedon Locations Extract PRISM data at the coordinates associated with NASIS pedons that have been correlated to the Loafercreek series. We will use the sample dataset loafercreek from the soilDB package to get NASIS data. This example can be easily adapted to your own pedon data extracted from NASIS using fetchNASIS(), but if your points are not in California, you will need to supply your own raster data. Get some NASIS data and upgrade the “site” data to a sf object. data("loafercreek", package="soilDB") # result is a SoilProfileCollection object pedons <- loafercreek ## alternately, use fetchNASIS() # pedons <- fetchNASIS() # extract site data s <- sf::st_as_sf(aqp::site(pedons), coords = c("x_std", "y_std"), crs = 4326, na.fail = FALSE) Extract PRISM data (the SpatRaster object we made earlier) at the Loafercreek pedon locations and summarize. # convert sf object s to terra SpatVector # and project to CRS of the raster s2 <- project(terra::vect(s), rs) # pass to terra::extract() e <- terra::extract(rs, s2, df = TRUE) # summarize: remove first (ID) column using [, -1] j index summary(e[, -1]) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## Min. :13.15 Min. : 432.0 Min. :189.0 Min. :2085 Min. :96.00 Min. :-433.14 ## 1st Qu.:15.59 1st Qu.: 576.0 1st Qu.:261.2 1st Qu.:2479 1st Qu.:99.00 1st Qu.:-263.46 ## Median :15.99 Median : 682.5 Median :285.0 Median :2540 Median :99.00 Median :-152.00 ## Mean :15.82 Mean : 680.4 Mean :281.0 Mean :2515 Mean :98.81 Mean :-146.05 ## 3rd Qu.:16.24 3rd Qu.: 771.0 3rd Qu.:307.8 3rd Qu.:2592 3rd Qu.:99.00 3rd Qu.: -36.87 ## Max. :16.58 Max. :1049.0 Max. :330.0 Max. :2654 Max. :99.00 Max. : 201.61 Join the extracted PRISM data with the original SoilProfileCollection object. # combine site data (sf) with extracted raster values (data.frame), row-order is identical, result is sf res <- cbind(s, e) # extract unique IDs and PRISM data # dplyr verbs work with sf data.frames res2 <- dplyr::select(res, pedon_id, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation) # join with original SoilProfileCollection object via pedon_key site(pedons) <- res2 The extracted values are now part of the “pedons” SoilProfileCollection object via site(<SoilProfileCollection>) <- data.frame LEFT JOIN method. Let’s summarize the data we extracted using quantiles. # define some custom functions for calculating range observed in site data my_low_function <- function(x) quantile(x, probs = 0.05, na.rm = TRUE) my_rv_function <- function(x) median(x, na.rm = TRUE) my_high_function <- function(x) quantile(x, probs = 0.95, na.rm = TRUE) site(pedons) |> dplyr::select(pedon_id, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation) |> dplyr::summarize(dplyr::across( MAAT:effective_precipitation, list(low = my_low_function, rv = my_rv_function, high = my_high_function) )) ## MAAT_low MAAT_rv MAAT_high MAP_low MAP_rv MAP_high FFD_low FFD_rv FFD_high GDD_low GDD_rv GDD_high ## 1 14.33665 15.98908 16.51595 479.5 682.5 904 220 285 320 2274.75 2540.5 2638.75 ## rain_fraction_low rain_fraction_rv rain_fraction_high effective_precipitation_low effective_precipitation_rv ## 1 97.25 99 99 -369.3428 -151.9985 ## effective_precipitation_high ## 1 94.25339 4.12.2.2 Raster Summary By Polygon: Series Extent The seriesExtent() function from the soilDB package provides a simple interface to Series Extent Explorer data files. Note that these series extents have been generalized for rapid display at regional to continental scales. A more precise representation of “series extent” can be generated from SSURGO polygons and queried from SDA. Get an approximate extent for the Loafercreek soil series from SEE. See the seriesExtent tutorial and manual page for additional options and related functions. # get (generalized) amador soil series extent from SoilWeb x <- soilDB::seriesExtent(s = 'loafercreek') # convert to EPSG:5070 Albers Equal Area x <- sf::st_transform(x, 5070) Generate 100 sampling points within the extent using a hexagonal grid. These point locations will be used to extract raster values from our SpatRaster of PRISM data. Note that using a “hexagonal” grid is not supported on geographic coordinates. samples <- sf::st_sample(x, size = 100, type = 'hexagonal') For comparison, extract a single point from each SSURGO map unit delineation that contains Loafercreek as a major component. This will require a query to SDA for the set of matching map unit keys (mukey), followed by a second request to SDA for the geometry. The SDA_query function is used to send arbitrary queries written in SQL to SDA, the results may be a data.frame or list, depending on the complexity of the query. The fetchSDA_spatial function returns map unit geometry as either polygons, polygon envelopes, or a single point within each polygon as selected by mukey or nationalmusym. # result is a data.frame mukeys <- soilDB::SDA_query("SELECT DISTINCT mukey FROM component WHERE compname = 'Loafercreek' AND majcompflag = 'Yes';") # result is a sf data.frame loafercreek.pts <- soilDB::fetchSDA_spatial( mukeys$mukey, by.col = 'mukey', method = 'point', chunk.size = 35 ) Graphically check both methods: # prepare samples and mapunit points for viewing on PRISM data hexagonal <- sf::st_transform(samples, sf::st_crs(maat)) x_gcs <- sf::st_transform(x, sf::st_crs(maat)) maatcrop <- terra::crop(maat, x_gcs) # adjust margins and setup plot device for two columns par(mar = c(1, 1, 3, 1), mfcol = c(1, 2)) # first figure plot(maatcrop, main = 'PRISM MAAT\\n100 Sampling Points from Extent', axes = FALSE) plot(sf::st_geometry(x_gcs), add = TRUE) plot(hexagonal, cex = 0.25, add = T) plot(maatcrop, main = 'PRISM MAAT\\n"Loafercreek" Polygon Centroids', axes = FALSE) plot(loafercreek.pts, cex = 0.25, add = TRUE) Extract PRISM data (the SpatRaster object we made earlier) at the sampling locations (100 regularly-spaced and from MU polygon centroids) and summarize. Note that CRS transformations are automatic (when possible), with a warning. # return the result as a data.frame object e <- terra::extract(rs, terra::vect(hexagonal), df = TRUE) e.pts <- terra::extract(rs, terra::vect(loafercreek.pts), df = TRUE) # check out the extracted data summary(e[,-1]) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## Min. :12.96 Min. : 381.0 Min. :195.0 Min. :2006 Min. :91.0 Min. :-508.60 ## 1st Qu.:15.67 1st Qu.: 521.5 1st Qu.:268.0 1st Qu.:2478 1st Qu.:99.0 1st Qu.:-330.62 ## Median :16.14 Median : 630.5 Median :299.0 Median :2562 Median :99.0 Median :-204.88 ## Mean :15.94 Mean : 666.0 Mean :288.6 Mean :2533 Mean :98.7 Mean :-166.37 ## 3rd Qu.:16.46 3rd Qu.: 789.2 3rd Qu.:316.2 3rd Qu.:2618 3rd Qu.:99.0 3rd Qu.: -27.45 ## Max. :17.40 Max. :1270.0 Max. :330.0 Max. :2809 Max. :99.0 Max. : 406.78 # all pair-wise correlations knitr::kable(cor(e[,-1]), digits = 2) MAAT MAP FFD GDD rain_fraction effective_precipitation MAAT 1.00 -0.59 0.94 0.99 0.78 -0.70 MAP -0.59 1.00 -0.53 -0.64 -0.36 0.99 FFD 0.94 -0.53 1.00 0.92 0.62 -0.63 GDD 0.99 -0.64 0.92 1.00 0.77 -0.74 rain_fraction 0.78 -0.36 0.62 0.77 1.00 -0.45 effective_precipitation -0.70 0.99 -0.63 -0.74 -0.45 1.00 Quickly compare the two sets of samples. # compile results into a list maat.comparison <- list('regular samples' = e$MAAT, 'polygon centroids' = e.pts$MAAT) # number of samples per method lapply(maat.comparison, length) ## $`regular samples` ## [1] 96 ## ## $`polygon centroids` ## [1] 2336 # summary() applied by group lapply(maat.comparison, summary) ## $`regular samples` ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 12.96 15.67 16.14 15.94 16.46 17.40 ## ## $`polygon centroids` ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 12.70 15.82 16.19 16.02 16.44 17.41 # box-whisker plot par(mar = c(4.5, 8, 3, 1), mfcol = c(1, 1)) boxplot( maat.comparison, horizontal = TRUE, las = 1, xlab = 'MAAT (deg C)', varwidth = TRUE, boxwex = 0.5, main = 'MAAT Comparison' ) Basic climate summaries from a standardized source (e.g. PRISM) might be a useful addition to an OSD, or checking the ranges reported in mapunits. 4.12.2.3 Raster Summary By Polygon: MLRA The following example is a simplified version of what is available in the soilReports package, reports on the ncss-tech GitHub repository. Efficient summary of large raster data sources can be accomplished using: internally-compressed raster data sources, stored on a local disk, can be in any coordinate system polygons stored in an equal-area or UTM coordinate system, with CRS units of meters fixed-density sampling of polygons estimation of quantiles from collected raster samples Back to our example data. The first step is to check the MLRA polygons (mlra); how many features per MLRA symbol? Note that some MLRA have more than one polygon. table(mlra$MLRARSYM) Convert polygon area from square meters to acres and summarize. Note that this will only make sense when using a projected CRS with units of meters (equal area)! poly.area <- terra::expanse(terra::vect(mlra)) / 4046.86 sf::sf_use_s2(TRUE) poly.area.s2 <- units::set_units(x = sf::st_area(mlra), value = "acre") sf::sf_use_s2(FALSE) poly.area.sf <- units::set_units(x = sf::st_area(mlra), value = "acre") summary(poly.area) sum(poly.area) sum(poly.area.s2) sum(poly.area.sf) Sample each polygon at a constant sampling density of 0.001 samples per acre (1 sample for every 1,000 ac.). At this sampling density we should expect approximately 16,700 samples–more than enough for our simple example. library(sharpshootR) # the next function requires a polygon ID: # each polygon gets a unique number 1--number of polygons mlra$pID <- 1:nrow(mlra) cds <- constantDensitySampling(mlra, n.pts.per.ac = 0.001) Extract MLRA symbol at sample points using the sf::st_intersection() function. The result will be a sf object with attributes from our MLRA polygons which intersect the sampling points (cds). # spatial overlay: sampling points and MLRA polygons res <- sf::st_intersection(sf::st_transform(sf::st_as_sf(cds), sf::st_crs(mlra)), mlra) # row / feature order is preserved, so we can directly copy cds$mlra <- res$MLRARSYM # tabulate number of samples per MLRA table(cds$mlra) ## ## 15 18 ## 11620 5137 Extract values from the SpatVector of PRISM data as a data.frame. e <- terra::extract(rs, terra::project(cds, terra::crs(rs))) # join columns from extracted values and sampling points s.df <- cbind(as(cds, 'data.frame'), e) # check results head(s.df) ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM ## 1 15 20 Central California Coast Range C ## 2 15 20 Central California Coast Range C ## 3 15 20 Central California Coast Range C ## 4 15 20 Central California Coast Range C ## 5 15 20 Central California Coast Range C ## 6 15 20 Central California Coast Range C ## LRR_NAME pID mlra ID MAAT MAP FFD GDD rain_fraction ## 1 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 1 15.19286 1149 306 2303 99 ## 2 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 2 15.33926 1049 307 2369 99 ## 3 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 3 15.42254 1041 313 2381 99 ## 4 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 4 15.44636 1087 308 2382 99 ## 5 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 5 15.39205 1116 316 2349 99 ## 6 California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 6 15.43280 1058 313 2387 99 ## effective_precipitation ## 1 385.6023 ## 2 252.4252 ## 3 242.8284 ## 4 283.1933 ## 5 314.3419 ## 6 258.3234 Summarizing multivariate data by group (MLRA) is usually much simpler after reshaping data from “wide” to “long” format. # reshape from wide to long format m <- tidyr::pivot_longer(s.df, cols = c(MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation)) # check "wide" format head(m) ## # A tibble: 6 × 10 ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME pID mlra ID name value ## <chr> <int> <chr> <chr> <chr> <int> <chr> <dbl> <chr> <dbl> ## 1 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 MAAT 15.2 ## 2 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 MAP 1149 ## 3 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 FFD 306 ## 4 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 GDD 2303 ## 5 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 rain… 99 ## 6 15 20 Central California Coast Range C California Subtropical Fruit,… 1 15 1 effe… 386. A tabular summary of means by MLRA and PRISM variable using dplyr v.s. base tapply(). # tabular summary of mean values dplyr::group_by(m, mlra, name) %>% dplyr::summarize(mean(value)) %>% dplyr::arrange(name) ## # A tibble: 12 × 3 ## # Groups: mlra [2] ## mlra name `mean(value)` ## <chr> <chr> <dbl> ## 1 15 FFD 284. ## 2 18 FFD 273. ## 3 15 GDD 2387. ## 4 18 GDD 2496. ## 5 15 MAAT 15.2 ## 6 18 MAAT 15.7 ## 7 15 MAP 588. ## 8 18 MAP 631. ## 9 15 effective_precipitation -197. ## 10 18 effective_precipitation -193. ## 11 15 rain_fraction 98.6 ## 12 18 rain_fraction 97.2 # base R tapply(m$value, list(m$mlra, m$name), mean, na.rm = TRUE) ## effective_precipitation FFD GDD MAAT MAP rain_fraction ## 15 -196.8961 284.3748 2386.711 15.24977 587.8348 98.60990 ## 18 -192.9192 273.1376 2496.125 15.66251 631.3798 97.21803 4.12.3 Example: Faster with exactextractr This example shows how to determine the distribution of Frost-Free Days across a soil series extent. The data are extracted from the raster data source very rapidly using the exactextractr package. library(sf) library(soilDB) library(terra) library(lattice) library(exactextractr) # 5-10 seconds to download Series Extent Explorer data series <- c('holland', 'san joaquin') # make SpatialPolygonsDataFrame s <- do.call('rbind', lapply(series, seriesExtent)) # load pointer to PRISM data r <- rast('C:/workspace2/chapter-4/FFD.tif') # transform extent to CRS of raster with sf s <- st_transform(st_as_sf(s), crs = st_crs(r)) # inspect s # use `st_union(s)` to create a MULTI- POINT/LINE/POLYGON from single # use `sf::st_cast(s, 'POLYGON')` to create other types system.time({ ex <- exactextractr::exact_extract(r, s) }) # ex is a list(), with data.frame [value, coverage_fraction] # for each polygon in s (we have one MULTIPOLYGON per series) # combine all list elements `ex` into single data.frame `ex.all` # - use do.call('rbind', ...) to stack data.frames row-wise # - an anonymous function that iterates along length of `ex` # - adding the series name to as a new variable, calculated using `i` ex.all <- do.call('rbind', lapply(seq_along(ex), function(i) { cbind(data.frame(group = series[i]), ex[[i]]) })) # simple summary densityplot(~ value | group, data = ex.all, plot.points = FALSE, bw = 2, lwd = 2, strip = strip.custom(bg = grey(0.85)), scales = list(alternating = 1), col = c('RoyalBlue'), layout = c(1, 2), ylab = 'Density', from = 0, to = 400, xlab = 'Frost-Free Days (50% chance)\\n800m PRISM Data (1981-2010)', main = 'FFD Estimate for Extent of San Joaquin and Holland Series' ) 4.12.4 Example: Summarizing MLRA Raster Data with lattice graphics Lattice graphics are useful for summarizing grouped comparisons. The syntax is difficult to learn and remember, but there is a lot of documentation online. library(lattice) tps <- list( box.rectangle = list(col = 'black'), box.umbrella = list(col = 'black', lty = 1), box.dot = list(cex = 0.75), plot.symbol = list( col = rgb(0.1, 0.1, 0.1, alpha = 0.25, maxColorValue = 1), cex = 0.25 ) ) bwplot(mlra ~ value | name, data = m, # setup plot and data source as.table=TRUE, # start panels in top/left corner varwidth=TRUE, # scale width of box by number of obs scales=list(alternating=3, relation='free'), # setup scales strip=strip.custom(bg=grey(0.9)), # styling for strips par.settings=tps, # apply box/line/point styling panel=function(...) { # within in panel, do the following panel.grid(-1, -1) # make grid lines at all tick marks panel.bwplot(...) # make box-whisker plot } ) 4.13 Additional Reading (Spatial) Ahmed, Zia. 2020. Geospatial Data Science with R. Gimond, M., 2019. Intro to GIS and Spatial Analysis https://mgimond.github.io/Spatial/ Hijmans, R.J. 2019. Spatial Data Science with R. https://rspatial.org/ Lovelace, R., J. Nowosad, and J. Muenchow, 2019. Geocomputation with R. CRC Press. https://bookdown.org/robinlovelace/geocompr/ Pebesma, E., and R.S. Bivand. 2005. Classes and methods for spatial data: The sp package. https://cran.r-project.org/web/packages/sp/vignettes/intro_sp.pdf. Pebesma, E. and R. Bivand, 2019. Spatial Data Science. https://keen-swartz-3146c4.netlify.com/ Applied Spatial Data Analysis with R "],["sampling.html", "Chapter 5 Sampling 5.1 Introduction 5.2 Sampling Strategies 5.3 Evaluating a Sampling Strategy 5.4 Additional Reading (Sampling)", " Chapter 5 Sampling 5.1 Introduction Sampling is a fundamental part of statistics. Samples are collected to achieve an understanding of a population because it is typically not feasible to observe all members of the population. The goal is to collect samples that provide an accurate representation of the population. Constraints on time and money dictate that the sampling effort must be efficient. More samples are needed to characterize the nature of highly variable populations than less variable populations. Define your purpose: What are you investigating? Examples include soil properties, soil classes, and plant productivity. How many samples are needed? The question of how many samples are required is complex. As per usual, the answer is ‘it depends’. For example, it depends on the type of analysis (e.g. non-spatial vs spatial) and properties of the data (e.g. continuous vs categorical). In all cases it requires an understanding/assumptions of the underlying population. If a scientist can estimate the several population variables, formulas exist to estimate the required number of samples. The following are a list of methods for estimating sample size: Standard error Confidence interval Power analysis (hypothesis testing) Distance/time Prediction error Rules of thumb NSSH 627.8 The first 3 methods use formulas for their corresponding statistics to solve for the sample size, each results in progressively higher sample size requirements. The PracTools R package (Valliant and Dever 2022) offers several functions for the 1st and 2nd methods. The pwr (Champely 2020) and WebPower (Zhang and Mai 2021) R packages offer several functions for the 3rd method, based on a variety of statistical models. Gelman, Hill, and Vehtari (2020) provides a nice graphical illustration of the variables involved with these methods. 5.1.1 DSM classes A variation of the 2nd method is described by Congalton and Green (2019) for use with categorical data, which is applicable to digital soil mapping. nMultinomial <- function(k = NULL, p = 0.5, error = 0.1, alpha = 0.05) { # k = number of classes # p = proportion of the largest class # error = margin of error # alpha = confidence level probability ceiling(qchisq(1 - alpha / k, 1) * p * (1 - p) / error^2) } nMultinomial(k = c(10, 20, 30)) ## [1] 197 229 248 nMultinomial(k = 10, error = c(0.05, 0.1, 0.2)) ## [1] 788 197 50 nMultinomial(k = 10, alpha = c(0.05, 0.1, 0.2)) ## [1] 197 166 136 5.1.2 Rules of thumb Some rules of thumb for regression models are as follows: Use > 10 observations (n) per predictor (m) (Kutner et al. (2005)). Use > 20 n per m and n > 104 + m to test regression coefficients (Rossiter 2017; Franklin and Miller 2009). Never use n < 5*m (Rossiter 2017). 5.1.3 NSSH 627.8 Documentation requirement for the following data elements are specified in the section 627.8 of the National Soil Survey Handbook (NSSH). # NSSH 627.8 Documentation # soil series data.frame( level = "soil series", n = c(5, 10), acres = c(2000, 20000) ) ## level n acres ## 1 soil series 5 2000 ## 2 soil series 10 20000 # components data.frame( level = "components", n = 1, acres = 3000 ) ## level n acres ## 1 components 1 3000 # map units data.frame( level = "map unit", n = cumsum(c(30, rep(10, 3))), acres = c(2000, seq(from = 4000, by = 4000, length.out = 3)) ) ## level n acres ## 1 map unit 30 2000 ## 2 map unit 40 4000 ## 3 map unit 50 8000 ## 4 map unit 60 12000 5.2 Sampling Strategies library(sf) library(ggplot2) # set the seed for the random number generator set.seed(4) # Create a sixteen square polygon bb <- st_make_grid(st_bbox(c(xmin = 0, xmax = 6, ymin = 0, ymax = 6)), n = 6) grd <- st_as_sf(bb) grd$ID <- 1:length(bb) 5.2.1 Simple Random In simple random sampling, all samples within the region have an equal chance of being selected. A simple random selection of points can be made using either the st_sample() function within the sf R package or the Create Random Points tool in ArcGIS. Advantages Simple Unbiased (equal probability of inclusion) Requires little prior knowledge of the population Howell et al. (2004) - produced a “much more sensitive, more accurate, and greater range of estimated values” than the models from the subjective samples Disadvantages Inefficient (requires large numbers) Lower accuracy Higher cost Samples may not be representative of the feature attribute(s) Uneven spatial distribution (e.g. clustered) # Generate simple random sample test <- st_sample(grd, size = 16, type = "random") ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Simple") 5.2.2 Systematic In systematic sampling, a sample is taken according to a regularized pattern. This approach ensures even spatial coverage. Patterns may be rectilinear, triangular, or hexagonal. This sampling strategy can be inaccurate if the variation in the population doesn’t coincide with the regular pattern (e.g., if the population exhibits periodicity). Advantages Simple Precise estimates Even spatial coverage Greater efficiency Disadvantages Biased estimates (particularly sampling variance) May miss individuals that don’t coincide with the sampling interval If so, the density needs to be increased Limited utility for areas larger than a single field Grid may not optimally fit irregular shapes # Generate systematic random sample test <- st_sample(grd, size = 16, type = "regular") ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Systematic") 5.2.3 Stratified Random In stratified random sampling, the sampling region is spatially subset into different strata, and random sampling is applied to each strata. If prior information is available about the study area, it can be used to develop the strata. Strata may be sampled equally or in proportion to area; however, if the target of interest is rare in the population, it may be preferable to sample the strata equally Franklin and Miller (2009)]. Advantages More efficient than simple-random Higher accuracy Lower cost Sampling can be sized relative to proportion or variance Disadvantages Require pre-existing knowledge of the population (which may be flawed) If sampling is uneven, weights need to be known May need to construct the strata manually grd2 <- st_cast(grd, "MULTIPOLYGON") st_crs(grd2) <- 5070 test <- st_sample(grd2, size = 16, type = "random", by_polygon = TRUE) ggplot() + geom_sf(data = grd2) + geom_sf(data = test) + ggtitle("Stratified") Note that the spsample() function only stratifies the points spatially. Other more sophisticated designs can be implemented using the spsurvey, sharpshootR, or clhs packages. 5.2.4 Multistage Stratified Random In multistage random sampling, the region is separated into different subsets that are randomly selected (i.e., first stage), and then the selected subsets are randomly sampled (i.e., second stage). This is similar to stratified random sampling, except that with stratified random sampling each strata is sampled. Advantages Most efficient Lower cost Sampling can be sized relative to proportion or variance Disadvantages Less precise Uneven spatial distribution (e.g. clustered) Require pre-existing knowledge of the population (which may be flawed) If sampling is uneven, weights need to be known May need to construct the strata manually # Select 8 samples from each square idx <- sample(1:nrow(grd), size = 2, replace = FALSE) grd_sub <- grd[idx, ] test <- sapply(1:2, function(i) { st_coordinates(st_sample(grd_sub[i, ], size = 8, type = "random")) }) test <- st_as_sf(as.data.frame(test), coords = 1:2) ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Two-stage") 5.2.5 Spatial Coverage Sampling (e.g. k-means clustering) # spcosa ---- library(spcosa) grd2 <- st_crs(grd, NA) grd_sp <- as(grd, "Spatial") strata <- stratify(grd_sp, nStrata = 16) pts <- spsample(strata) plot(strata, pts) + ggtitle("Spatial Coverage") 5.2.6 Covariate space coverage sampling (e.g. k-means clustering) Covariate space coverage sampling is a stratified sampling technique to obtain representative samples from feature (attribute) space (Brus 2022). Advantages Maximumly stratifies the predictors Automated sample selection Can incorporates cost constraints Ideal for developing map unit concepts (puts points in central landscape positions) Can incorporate legacy points Easily scales to multiple GIS layers Disadvantages Not ideal for map validation (non – probability sample) Inefficient with large GIS layers library(sf) library(terra) source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R") # import volcano DEM, details at http://geomorphometry.org/content/volcano-maungawhau data("volcano") volcano_r <- rast( volcano[87:1, 61:1], crs = crs("+init=epsg:27200"), extent = c( xmin = 2667405, xmax = 2667405 + 61 * 10, ymin = 6478705, ymax = 6478705 + 87 * 10 ) ) names(volcano_r) <- "elev" # calculate slope from the DEM slope_r <- terrain(volcano_r, v = "slope", unit = "degrees") # Stack Elevation and Slope rs <- c(volcano_r, slope_r) # Covariate Space Coverage Sampling source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R") fs <- cscs(rs, vars = c("elev", "slope"), n = 20) fs_sf <- st_as_sf(fs, coords = c("x", "y"), crs = crs(rs)) # Plot CSCS Samples plot(volcano_r, axes=FALSE) points(fs_sf) 5.2.7 Conditioned Latin Hypercube (cLHS) Conditioned Latin hypercube sampling is a stratified random sampling technique to obtain representative samples from feature (attribute) space (Minasny and McBratney 2006). Advantages Maximumly stratifies the predictors Automated sample selection Incorporates cost constraints Can incorporate legacy points Easily scales to multiple GIS layers Disadvantages Not ideal for map validation (non – probability sample) Not ideal for developing map unit concepts (puts points in weird landscape positions) Difficult to find alternatives for non-accessible points Inefficient with large GIS layers For example, assume you have prior knowledge of a study area and have the time and resources to collect 120 points. You also know the following variables (strata), which are represented as coregistered raster datasets, to be of importance to the soil property or class being investigated: Normalized Difference Vegetation Index (NDVI), Topographic Wetness Index (a.k.a. Wetness Index, compound topographic index), Solar insolation (potential incoming solar radiation), and Relative elevation (a.k.a. relative position, normalized slope height). The cLHS procedure iteratively selects samples from the strata variables such that they replicate the range of values from each stratum. Without a technique such as cLHS, obtaining a sample that is representative of the feature space becomes increasingly difficult as the number of variables (strata) increases. To perform cLHS using R, you can use the clhs package (Roudier 2011). rs2 <- raster::stack(rs) library(clhs) # generate cLHS design cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE) # Plot cLHS Samples par(mar=c(1,1,1,4)) plot(volcano_r, axes=FALSE) points(cs$sampled_data) # Summary of clhs object summary(cs$sampled_data)$data ## elev slope ## Min. : 95.0 Min. : 0.000 ## 1st Qu.:108.8 1st Qu.: 6.701 ## Median :124.5 Median :12.979 ## Mean :130.5 Mean :14.420 ## 3rd Qu.:150.2 3rd Qu.:20.459 ## Max. :184.0 Max. :33.197 ## NA's :1 # Summary of raster objects cbind(summary(volcano_r), summary(slope_r)[1:6]) ## elev ## "Min. : 94.0 " "Min. : 0.000 " ## "1st Qu.:108.0 " "1st Qu.: 7.054 " ## "Median :124.0 " "Median :14.103 " ## "Mean :130.2 " "Mean :14.897 " ## "3rd Qu.:150.0 " "3rd Qu.:21.666 " ## "Max. :195.0 " "Max. :43.032 " Although the above example works well on our small volcano dataset, the clhs package is inefficient if you are working with large raster datasets. To overcome this limitation, you can first take a large random sample and then subsample it using cLHS. sub_s <- spatSample(rs, size = 200, as.points = TRUE) |> st_as_sf() # random sample function from the raster package s <- clhs(sub_s, size = 20, progress = FALSE, simple = FALSE) 5.3 Evaluating a Sampling Strategy To gauge the representativeness of a sampling strategy, you can compare the results it produces to the results for other variables you think might coincide with the soil properties or classes of interest (Hengl 2009). Examples include slope gradient, slope aspect, and vegetative cover. These other variables may be used to stratify the sampling design or to assess the representativeness of our existing samples (e.g., NASIS pedons). The simple example below demonstrates how to compare several sampling strategies by evaluating how well they replicate the distribution of elevation. # set seed set.seed(1234) # create a polygon from the spatial extent of the volcano dataset test <- st_make_grid(ext(volcano_r), n = 1) # take a large random sample sr400 <- spatSample(rs, size = 1000, method = "random", as.points = TRUE) # take a small random sample sr <- spatSample(rs, size = 20, method = "random", as.points = TRUE) # take a small systematic random sample sys <- spatSample(rs, size = 20, method = "regular", as.points = TRUE) # take a cLHS sample cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE) # take a CSCS sample fs <- cscs(rs, vars = c("elev", "slope"), n = 20) # Combind and Extract Samples s <- rbind( data.frame(method = "Simple Random 400", as.data.frame(sr400)), data.frame(method = "Simple Random", as.data.frame(sr)), data.frame(method = "Systematic Random", as.data.frame(sys)), data.frame(method = "cLHS", slot(cs$sampled_data, 'data')), data.frame(method = "CSCS", fs[c("elev", "slope")]) ) # Summarize the sample values aggregate(slope ~ method, data = s, function(x) round(summary(x))) ## method slope.Min. slope.1st Qu. slope.Median slope.Mean slope.3rd Qu. slope.Max. ## 1 cLHS 3 8 15 16 21 32 ## 2 CSCS 1 7 15 16 24 36 ## 3 Simple Random 0 14 17 18 22 34 ## 4 Simple Random 400 0 6 14 15 22 43 ## 5 Systematic Random 0 6 12 13 17 34 # Plot overlapping density plots to compare the distributions between the large and small samples ggplot(s, aes(x = slope, col = method)) + geom_density(cex = 2) # plot the spatial locations par(mfrow = c(2, 2), mar = c(1,2,4,5)) plot(volcano_r, main = "Simple random", cex.main = 2, axes=FALSE) points(sr, pch = 3, cex = 1.2) plot(volcano_r, main = "Systematic random", cex.main = 2, axes=FALSE) points(sys, pch = 3, cex = 1.2) plot(volcano_r, main = "cLHS", cex.main = 2, axes=FALSE) points(cs$sampled_data, pch = 3, cex = 1.2) plot(volcano_r, main = "CSCS", cex.main = 2, axes=FALSE) points(fs_sf, pch = 3, cex = 1.2) The overlapping density plots above illustrate the differences between large and small sets of samples using several sampling designs. The cLHS approach best duplicates the distribution of elevation (because elevation is explicitly used in the stratification process). The contrast is less severe in the summary metrics, but again cLHS more closely resembles the larger sample. Other comparisons are possible using the approaches in the following chapters. 5.3.1 Exercise: Design a Sampling Strategy Load the “tahoe_lidar_highesthit.tif” dataset in the gdalUtilities package (i.e. tahoe <- terra::rast(system.file(\"extdata/tahoe.tif\", package = \"gdalUtilities\"))) or use your own data set. Compare two or more sampling approaches and evaluate how representative they are. Show your work and submit the results to your mentor. 5.4 Additional Reading (Sampling) Brungard, C., & Johanson, J. (2015). The gate’s locked! I can’t get to the exact sampling spot … can I sample nearby? Pedometron(37), 8-9. http://www.pedometrics.org/Pedometron/Pedometron37.pdf Brus, D.J. and J.J. de Gruijter. “Random sampling or geostatistical modelling? Choosing between design-based and model-based sampling strategies for soil (with discussion).” Geoderma. Vol. 80. 1. Elsevier, 1997. 1-44. https://www.sciencedirect.com/science/article/pii/S0016706197000724 Brus, Dick J. Spatial Sampling with R. First edition, CRC Press, 2022, https://github.com/DickBrus/SpatialSamplingwithR. de Gruijter, J., D.J. Brus, M.F.P. Bierkens, and M. Knotters. 2006. Sampling for natural resource monitoring: Springer. http://www.springer.com/us/book/9783540224860. Viscarra Rossel, R.A., et al. “Baseline estimates of soil organic carbon by proximal sensing: Comparing design-based, model-assisted and model-based inference.” Geoderma 265 (2016): 152-163. https://www.sciencedirect.com/science/article/pii/S0016706115301312 References Brus, Dick J. 2022. Spatial Sampling with R. 1st ed. Boca Raton: Chapman; Hall/CRC. https://doi.org/10.1201/9781003258940. Champely, Stephane. 2020. “Pwr: Basic Functions for Power Analysis.” https://CRAN.R-project.org/package=pwr. Congalton, Russell G., and Kass Green. 2019. “Thematic Map Accuracy Assessment Considerations.” In Assessing the Accuracy of Remotely Sensed Data, 3rd ed., 77–106. CRC Press. https://doi.org/10.1201/9780429052729-6. Franklin, Janet, and Jennifer A Miller. 2009. Mapping Species Distributions: Spatial Inference and Prediction. Cambridge; New York: Cambridge University Press. https://doi.org/10.1017/CBO9780511810602. Gelman, Andrew, Jennifer Hill, and Aki Vehtari. 2020. “16 - Design and Sample Size Decisions.” In Regression and Other Stories, 1st ed., 291–312. Cambridge University Press. https://doi.org/10.1017/9781139161879. Hengl, Tomislav. 2009. A Practical Guide to Geostatistical Mapping. 2nd extended ed. Amsterdam: Hengl. http://spatial-analyst.net/book/. Kutner, Michael H., Christopher J. Nachtsheism, John Neter, and William Li. 2005. Applied Linear Statistical Models. 5th ed. The McGraw-Hill/Irwin Series Operations and Decision Sciences. Boston: McGraw-Hill Irwin. Minasny, Budiman, and Alex B. McBratney. 2006. “A Conditioned Latin Hypercube Method for Sampling in the Presence of Ancillary Information.” Computers & Geosciences 32 (9): 1378–88. https://doi.org/10.1016/j.cageo.2005.12.009. Rossiter, D. G. 2017. “Sampling for Natural Resources and Environmental Modelling and Monitoring.” Enschede, Netherlands: University of Twente. http://www.css.cornell.edu/faculty/dgr2/teach/index.html. Roudier, Pierre. 2011. Clhs: A r Package for Conditioned Latin Hypercube Sampling. https://cran.r-project.org/web/packages/clhs/. Valliant, Richard, and Jill A. Dever. 2022. “PracTools: Tools for Designing and Weighting Survey Samples.” https://CRAN.R-project.org/package=PracTools. Zhang, Zhiyong, and Yujiao Mai. 2021. “WebPower: Basic and Advanced Statistical Power Analysis.” https://CRAN.R-project.org/package=WebPower. "],["references.html", "References", " References Arnold, R. W., and L. P. Wilding. 1991. “The Need to Quantify Spatial Variability.” In SSSA Special Publications, edited by M. J. Mausbach and L. P. Wilding, 1–8. Madison, WI, USA: Soil Science Society of America. https://doi.org/10.2136/sssaspecpub28.c1. Boyd, Claude E., Craig S. Tucker, and Rawee Viriyatum. 2011. “Interpretation of pH, Acidity, and Alkalinity in Aquaculture and Fisheries.” North American Journal of Aquaculture 73 (4): 403–8. https://doi.org/10.1080/15222055.2011.620861. Brevik, Eric C., Jeffrey A. Homburg, Bradley A. Miller, Thomas E. Fenton, James A. Doolittle, and Samuel J. Indorante. 2016. “Selected Highlights in American Soil Science History from the 1980s to the Mid-2010s.” CATENA 146 (November): 128–46. https://doi.org/10.1016/j.catena.2016.06.021. Brus, Dick J. 2022. Spatial Sampling with R. 1st ed. Boca Raton: Chapman; Hall/CRC. https://doi.org/10.1201/9781003258940. Champely, Stephane. 2020. “Pwr: Basic Functions for Power Analysis.” https://CRAN.R-project.org/package=pwr. Chaney, Nathaniel W., Eric F. Wood, Alexander B. McBratney, Jonathan W. Hempel, Travis W. Nauman, Colby W. Brungard, and Nathan P. Odgers. 2016. “POLARIS: A 30-Meter Probabilistic Soil Series Map of the Contiguous United States.” Geoderma 274: 54–67. https://doi.org/10.1016/j.geoderma.2016.03.025. Congalton, Russell G., and Kass Green. 2019. “Thematic Map Accuracy Assessment Considerations.” In Assessing the Accuracy of Remotely Sensed Data, 3rd ed., 77–106. CRC Press. https://doi.org/10.1201/9780429052729-6. Franklin, Janet, and Jennifer A Miller. 2009. Mapping Species Distributions: Spatial Inference and Prediction. Cambridge; New York: Cambridge University Press. https://doi.org/10.1017/CBO9780511810602. Gelman, Andrew, Jennifer Hill, and Aki Vehtari. 2020. “16 - Design and Sample Size Decisions.” In Regression and Other Stories, 1st ed., 291–312. Cambridge University Press. https://doi.org/10.1017/9781139161879. Hengl, Tomislav. 2009. A Practical Guide to Geostatistical Mapping. 2nd extended ed. Amsterdam: Hengl. http://spatial-analyst.net/book/. Hennemann, G R, and D G Rossiter. 2004. “Training Needs for the Next Generation of Soil Surveyors.” In International Conference on Innovative Techniques in Soil Survey, Cha’am, Thailand, 21-26 March 2004, 22–26. Cha-Am, Thailand: Land Development Department. http://www.css.cornell.edu/faculty/dgr2/Docs/ChaAm/ChaAmKeynoteHennemann.pdf. Ihaka, Ross, and Robert Gentleman. 1996. “R: A Language for Data Analysis and Graphics.” Journal of Computational and Graphical Statistics 5 (3): 299–314. https://doi.org/10.1080/10618600.1996.10474713. Kempen, Bas, Dick J. Brus, Jetse J. Stoorvogel, Gerard B. M. Heuvelink, and Folkert de Vries. 2012. “Efficiency Comparison of Conventional and Digital Soil Mapping for Updating Soil Maps.” Soil Science Society of America Journal 76 (6): 2097–2115. https://doi.org/https://doi.org/10.2136/sssaj2011.0424. Kutner, Michael H., Christopher J. Nachtsheism, John Neter, and William Li. 2005. Applied Linear Statistical Models. 5th ed. The McGraw-Hill/Irwin Series Operations and Decision Sciences. Boston: McGraw-Hill Irwin. MacMillan, Robert A., David E. Moon, and Ray A. Coupé. 2007. “Automated Predictive Ecological Mapping in a Forest Region of b.c., Canada, 2001–2005.” Geoderma 140 (4): 353–73. https://doi.org/10.1016/j.geoderma.2007.04.027. Mausbach, M. J. 2003. “The Importance of Statistical Documentation - Keeping Soil Survey Information Relevant in the 21st Century.” In 2003 National Cooperative Soil Survey Conference, 3–6. Plymouth, Massachusetts: National Cooperative Soil Survey. https://web.archive.org/web/20220121020421/https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs142p2_051833.pdf. Maynard, Jonathan J., Travis W. Nauman, Shawn W. Salley, Brandon T. Bestelmeyer, Michael C. Duniway, Curtis J. Talbot, and Joel R. Brown. 2019. “Digital Mapping of Ecological Land Units Using a Nationally Scalable Modeling Framework.” Soil Science Society of America Journal 83 (3): 666–66. https://doi.org/10.2136/sssaj2018.09.0346. Minasny, Budiman, and Alex B. McBratney. 2006. “A Conditioned Latin Hypercube Method for Sampling in the Presence of Ancillary Information.” Computers & Geosciences 32 (9): 1378–88. https://doi.org/10.1016/j.cageo.2005.12.009. Ramcharan, Amanda, Tomislav Hengl, Travis Nauman, Colby Brungard, Sharon Waltman, Skye Wills, and James Thompson. 2018. “Soil Property and Class Maps of the Conterminous United States at 100-Meter Spatial Resolution.” Soil Science Society of America Journal 82 (1): 186–201. https://doi.org/https://doi.org/10.2136/sssaj2017.04.0122. Rossiter, D. G. 2017. “Sampling for Natural Resources and Environmental Modelling and Monitoring.” Enschede, Netherlands: University of Twente. http://www.css.cornell.edu/faculty/dgr2/teach/index.html. Roudier, Pierre. 2011. Clhs: A r Package for Conditioned Latin Hypercube Sampling. https://cran.r-project.org/web/packages/clhs/. Tukey, John Wilder. 1977. Exploratory Data Analysis. Addison-Wesley Series in Behavioral Science. Reading, Mass: Addison-Wesley Pub. Co. https://archive.org/details/exploratorydataa0000tuke_7616. Valliant, Richard, and Jill A. Dever. 2022. “PracTools: Tools for Designing and Weighting Survey Samples.” https://CRAN.R-project.org/package=PracTools. Webster, R. 2001. “Statistics to Support Soil Research and Their Presentation.” European Journal of Soil Science 52 (2): 331–40. https://doi.org/10.1046/j.1365-2389.2001.00383.x. Zhang, Zhiyong, and Yujiao Mai. 2021. “WebPower: Basic and Advanced Statistical Power Analysis.” https://CRAN.R-project.org/package=WebPower. "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] +[["index.html", "Statistics for Soil Survey - Part 1 Pre-course Assignment 0.1 Create Workspace 0.2 Configure RStudio 0.3 Essentials 0.4 Personalization 0.5 Install Required Packages 0.6 Dealing With Errors 0.7 Packages not on CRAN 0.8 Connect Local NASIS 0.9 Proof 0.10 Additional Soil Data and R References", " Statistics for Soil Survey - Part 1 Soil Survey Staff 2025-01-13 Pre-course Assignment 0.1 Create Workspace Make a local folder C:\\workspace2 to use as a working directory for this course. Use all lower case letters please. 0.2 Configure RStudio Open RStudio, and edit the “Global Options” (Main menu: Tools → Global Options). 0.3 Essentials These options are important for pleasant, reproducible and efficient use of the RStudio environment: Change the default working directory to C:\\workspace2 (R General Tab) Uncheck “Restore .Rdata into workspace at startup” (R General Tab) VERY IMPORTANT Figure 1: Example of RStudio General settings. RStudio detects the available R installations on your computer. Individual versions are certified for the Software Center as they become available, and sometimes there is a more recent version available for download. It is worth taking the time before installing packages to get the latest version of R available to you. This is to minimize compatibility issues which arise over time. 0.4 Personalization Figure 2: Example of RStudio Code/Editing settings. Optional: Check “Soft-wrap R source files” (Code/Editing Tab) Optional: Show help tooltips, control auto-completion and diagnostics (Code/Completion and Diagnostics Tabs) Optional: Update code font size, colors and theme (Appearance) Optional: Use RStudio Projects (top-right corner) to manage working directories 0.5 Install Required Packages Packages can be installed by name from the Comprehensive R Archive Network (CRAN) using the base R function install.packages(). There are a lot of packages out there–many more than you will download here, and many of which are useful for Soil Survey work. The first time you install packages, R may ask you if you want to create a local package library. You need to do this because we cannot write to system folders as non-administrator users on CCE machines. The default location for R package library on Windows is: C:\\Users\\<User.Name>\\AppData\\Local\\R\\win-library\\<X.X> where <User.Name> is the current Windows user name and <X.X> is the version of R packages are being installed for. If you have an existing R package library (for same minor version of R), you can copy that library into the AppData\\Local\\R folder as needed. For example, to download and install the remotes package from CRAN: install.packages("remotes") To install the R packages used in this class copy all of the code from the box below and paste into the R console window. Paste after the command prompt (>) and press enter. Downloading and configuring the packages will take a while if you are installing or upgrading all of the packages in the list below. On particularly slow network connections, i.e. over VPN or USDA network in general, it may be necessary to increase the “timeout” option to ensure the downloads have sufficient time to complete. # increase default timeout from 1 minute to 5 minutes (for current session only) options(timeout = 300) ## character vector of package names packages <- c( # soil "aqp", "soilDB", "sharpshootR", "soiltexture", # gis "raster", "sp", "sf", "terra", "gdalUtilities", "rgrass", "RSAGA", "exactextractr", "fasterize", # data management "dplyr", "tidyr", "devtools", "roxygen2", "Hmisc", "circular", "DT", "remotes", # databases "DBI", "odbc", "RSQLite", # graphics "ggplot2", "latticeExtra", "maps", "spData", "tmap", "kableExtra", "corrplot", "farver", "mapview", "ggmap", "plotrix", "rpart.plot", "visreg", "diagram", "GGally", "wesanderson", "viridisLite", "prettymapr", # modeling "car", "rms", "randomForest", "ranger", "party", "caret", "vegan", "ape", "shape", "modEvA", "gower", "MBESS", "yardstick", # sampling "clhs", "spcosa" ) # ipkCRAN: a helper fuction for installing required packages from CRAN source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/ipkCRAN.R") ## - p: vector of package names ## - up: logical - upgrade installed packages? Default: TRUE ## up = TRUE to download all packages ## up = FALSE to download only packages you don't already have installed ipkCRAN(p = packages, up = TRUE) The ipkCRAN function will let you know if any of the above packages fail to install. Whenever you run some code always check the console output for warnings and errors before continuing. It may be easiest to send commands individually to learn about and inspect their output, rather than running the entire file and wondering where an error occurred. 0.6 Dealing With Errors If a lot of output is produced by a command you should scroll up and sift through it as best you can. Copy and paste parts of the error message to use in internet searches, and try to find cases where folks have encountered problems. 0.6.1 No output is produced after pasting into console If you do not have a new command prompt (>) and a blinking cursor on the left hand side of your console, but instead see a + after you run a command, R may think you are still in the middle of submitting input to the “read-eval-print-loop” (REPL). If this is not expected you are possibly missing closing quotes, braces, brackets or parentheses. R needs to know you were done with your expression, so you may need to supply some input to get the command to be complete. Pasting code line-by-line is useful but prone to input errors with multi-line expressions. Alternately, you can run commands or an entire file using the GUI or keyboard shortcuts such as Ctrl+Enter. You have a chance to try this in the example at the end. 0.6.2 ‘SOMEPACKAGE’ is not available (for R version X.Y.Z) This means either: A package named ‘SOMEPACKAGE’ exists but it is not available for your version of R CRAN does not have a package with that name You can try again, but first check for spelling and case-sensitivity. When in doubt search the package name on Google or CRAN to make sure you have it right. Note that not all R packages are available on CRAN: there are many other ways that you can deliver packages (including GitHub described below). 0.7 Packages not on CRAN Some R packages rely on compiled code. Windows users are limited to installing “binary” versions of such packages from CRAN unless they have “Rtools” installed. The Rtools software is available from the Software Center, and is specific to the version of R you have. One way to get the latest binary builds of R packages that use compiled code is by using https://r-universe.dev. This website provides custom repositories that can be used in addition to the defaults in install.packages() For example, you can install raster-related “rspatial” packages from r-universe.dev. This may not be “required” but it is good to know how to specify an alternate package repository source using the repos= argument. Check with your mentor to see if there are known issues with current CRAN packages. install.packages(c('terra', 'raster'), repos='https://rspatial.r-universe.dev') To install the latest version of packages from the Algorithms for Quantitative Pedology (AQP) suite off GitHub we use the remotes package. The AQP packages are updated much more frequently on GitHub than they are on CRAN. Generally, the CRAN versions (installed above) are the “stable” releases whereas the GitHub repositories have new features and bug fixes. remotes::install_github("ncss-tech/aqp", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/soilDB", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/sharpshootR", dependencies=FALSE, upgrade=FALSE, build=FALSE) remotes::install_github("ncss-tech/soilReports", dependencies=FALSE, upgrade=FALSE, build=FALSE) 0.8 Connect Local NASIS Establish an ODBC connection to NASIS by following the directions at the following hyperlink (ODBC Connection to NASIS). Once you’ve successfully established a ODBC connection, prove it by loading your NASIS selected set with the site and pedon tables for any pedons from your local area. You only need a few pedons at a minimum for this demo – too many (say, >20) will make the example profile plot cluttered. Paste the below code at the command prompt (>) and press enter, as you did above. Or create a new R script (Main menu: File → New File → R Script) and paste code into the “Source” pane (script editor window). Then, click the Run button in the top-right corner of the Script Editor or use Ctrl+Enter to run code at the cursor location / any selected code. This will execute the code in the Console. Submit the resulting plot to your mentor (from “Plot” pane (bottom-right): Export → Save as PDF…) # load packages into the current session library(aqp) # provides "SoilProfileCollection" object & more library(soilDB) # provides database access methods # get pedons from NASIS selected set test <- fetchNASIS(from = 'pedons') # inspect the result str(test, max.level = 2) # make a profile plot # set margins smaller than default par(mar=c(1,1,1,1)) # make profile plot of selected set, with userpedonid as label plot(test, label='pedon_id') 0.9 Proof Follow the one line example below, copy the output, and submit the results to your mentor. This will help us to verify that all of the required packages have been installed. # dump list of packages that are loaded into the current session sessionInfo() 0.10 Additional Soil Data and R References 0.10.1 Soil Data Videos Paul Finnel’s NASIS webinar Stats for Soil Survey Webinar Soil Data Aggregation using R Webinar 0.10.2 R Books and Manuals R-Intro R for Beginners Spatial Data Analysis and Modeling with R (highly recommended) Geographic Data Science with R book The R Inferno AQP Website and Tutorials "],["intro.html", "Chapter 1 Introduction to R 1.1 Outline 1.2 Course Overview 1.3 What is R? 1.4 RStudio: An Integrated Development Environment (IDE) for R 1.5 R basics 1.6 Managing Packages 1.7 Getting Help 1.8 Documenting your work 1.9 Organizing your work 1.10 Saving your work 1.11 Exercise 1 1.12 Loading Data 1.13 Data manipulation 1.14 Exercise 2 1.15 Review 1.16 Additional Reading (Introduction)", " Chapter 1 Introduction to R 1.1 Outline Course Overview Review Course Objectives Why is this training needed? Why is course organized this way? What is R? Why should I use R? What can R do? How do I get started? RStudio interface What are packages? How to navigate the Help tab How to save files Manipulating data Loading & viewing data Filtering, transforming, merging, aggregating and reshaping data Exporting data 1.2 Course Overview 1.2.1 Course Objectives Develop solutions to investigate soil survey correlation problems and update activities. Evaluate investigations for interpretive results and determine how to proceed. Summarize data for population in NASIS. Analyze spatial data to investigate soil-landscape relationships Help to pursue the question “why” 1.2.2 Why is this training needed? Long standing goal of the Soil Science Division to have a course in statistics (Mausbach 2003) Opportunities to learn these techniques are limited, especially at the undergraduate level (Hennemann and Rossiter 2004) Consistent methodology (data analysis, data population, sampling design, etc.) There is continually a greater need to use these techniques: Mapping of lands at high production rates ((MacMillan, Moon, and Coupé 2007); (Kempen et al. 2012); (Brevik et al. 2016)) Ecological Sites (Maynard et al. 2019) Soil survey refinement (disaggregation) ((Chaney et al. 2016);(Ramcharan et al. 2018)) 1.2.3 Why is course organized this way? The web content is a long-term investment and serves as a reference Our best judgment for assembling into 24 hours what could be 6 University level courses Mixture of slides and script-enabled web pages is “new” for NRCS Feel free to provide feedback for improving the class for future offerings. 1.3 What is R? R is a free, open-source software and programming language developed in 1995 at the University of Auckland as an environment for statistical computing and graphics (Ihaka and Gentleman 1996). Since then R has become one of the dominant software environments for data analysis and is used by a variety of scientific disiplines, including soil science, ecology, and geoinformatics (Envirometrics CRAN Task View; Spatial CRAN Task View). R is particularly popular for its graphical capabilities, but it is also prized for it’s GIS capabilities which make it relatively easy to generate raster-based models. More recently, R has also gained several packages designed specifically for analyzing soil data. A software environment: statistics graphics programming calculator GIS A language to explore, summarize, and model data functions = verbs objects = nouns 1.3.1 Why Should I Learn R? While the vast majority of people use Microsoft Excel for data analysis, R offers numerous advantages, such as: Cost. R is free! (“Free as in free speech, not free beer.”) Reproducible Research (self-documenting, repeatable) repeatable: code + output in a single document (‘I want the right answer, not a quick answer’ - Paul Finnell) easier the next time (humorous example) numerous Excel horror stories of scientific studies gone wrong exist (TED Talk) scalable: applicable to small or large problems R in a Community Numerous Discipline Specific R Groups Numerous Local R User Groups (including R-Ladies Groups) Stack Overflow Learning Resources (quantity and quality) R books (Free Online) R Books “If we don’t accept these challenges, others who are less qualified will; and soil scientists will be displaced by apathy.” (Arnold and Wilding 1991) While some people find the use of a command line environment daunting, it is becoming a necessary skill for scientists as the volume and variety of data has grown. Thus scripting or programming has become a third language for many scientists, in addition to their native language and discipline specific terminology. Other popular programming languages include: SQL (i.e. NASIS), Python (i.e. ArcGIS), and JavaScript. ODBC and GDAL link R to nearly all possible formats/interfaces 1.3.2 What can R do? 1.3.3 Packages Base R (functionality is extended through packages) basic summaries of quantitative or qualitative data data exploration via graphics GIS data processing and analysis Soil Science R Packages aqp - visualization, aggregation, classification soilDB - access to commonly used soil databases soilReports - handful of report templates soiltexture - textural triangles Ecology R packages vegan - ordination, diversity analysis, etc. dismo - species distribution modeling 1.3.3.1 Soil Science Applications 1.3.3.1.1 Create Maps 1.3.3.1.2 Draw Soil Profiles 1.3.3.1.3 Draw Depth Plots 1.3.3.1.4 Estimate the Range in Characteristics (RIC) variable genhz pct10 median pct90 clay A 13 16 22 clay BAt 16 19 25 clay Bt1 18 24 32 clay Bt2 22 30 44 clay Cr 15 15 15 phfield A 6 6 7 phfield BAt 5 6 6 phfield Bt1 5 6 7 1.4 RStudio: An Integrated Development Environment (IDE) for R RStudio is an integrated development environment (IDE) that allows you to interact with R more readily. RStudio is similar to the standard RGui, but is considerably more user friendly. It has more drop-down menus, windows with multiple tabs, and many customization options. The first time you open RStudio, you will see three windows. A forth window is hidden by default, but can be opened by clicking the File drop-down menu, then New File, and then R Script. Detailed information on using RStudio can be found at at RStudio’s Website. RStudio Windows / Tabs Location Description Console Window lower-left location were commands are entered and the output is printed Source Tabs upper-left built-in text editor Environment Tab upper-right interactive list of loaded R objects History Tab upper-right list of key strokes entered into the Console Files Tab lower-right file explorer to navigate C drive folders Plots Tab lower-right output location for plots Packages Tab lower-right list of installed packages Help Tab lower-right output location for help commands and help search window Viewer Tab lower-right advanced tab for local web content 1.5 R basics R is command-line driven. It requires you to type or copy-and-paste commands after a command prompt (>) that appears when you open R. This is called the “Read-Eval-Print-Loop” or REPL. After typing a command in the R console and pressing Enter on your keyboard, the command will run. If your command is not complete, R issues a continuation prompt (signified by a plus sign: +). R is case sensitive. Make sure your spelling and capitalization are correct. Commands in R are also called functions. The basic format of a function in R is: object <- function.name(argument_1 = data, argument_2 = TRUE). The up arrow (^) on your keyboard can be used to bring up previous commands that you’ve typed in the R console. Comments in R code need to start with the # symbol (a.k.a. hash-tag, comment, pound, or number symbol). R ignores the remainder of the script line following #. # Math 1 + 1 10 * 10 log10(100) # combine values c(1, 2, 3) # Create sequence of values 1:10 # Implicit looping 1:10 * 5 1:10 * 1:10 # Assignment and data types ## numeric clay <- c(10, 12, 15, 26, 30) ## character subgroup <- c("typic haplocryepts","andic haplocryepts","typic dystrocryepts") ## logical andic <- c(FALSE, TRUE ,FALSE) # Print print(clay) subgroup 1.6 Managing Packages Packages are collections of additional functions that can be loaded on demand. They commonly include example data that can be used to demonstrate those functions. Although R comes with many common statistical functions and models, most of our work requires additional packages. 1.6.1 Installing Packages To use a package, you must first install it and then load it. These steps can be done at the command line or using the Packages Tab. Examples of both approaches are provided below. R packages only need to be installed once (until R is upgraded or re-installed). Every time you start a new R session, however, you need to load every package that you intend to use in that session. Within the Packages tab you will see a list of all the packages currently installed on your computer, and 2 buttons labeled either “Install” or “Update”. To install a new package simply select the Install button. You can enter install one or more than one packages at a time by simply separating them with a comma. To find out what packages are installed on your computer, use the following commands: library() # or installed.packages() One useful package for soil scientists is the soiltexture package. It allows you to plot soil textural triangles. The following command shows how to install this package if you do not currently have it downloaded: # CRAN (static version) install.packages(c("soiltexture")) # GitHub (development version) remotes::install_github("julienmoeys/soiltexture/pkg/soiltexture", dependencies = FALSE, upgrade = FALSE, build = FALSE) 1.6.2 Loading Packages Once a package is installed, it must be loaded into the R session to be used. This can be done by using library(). The package name does not need to be quoted. library(soilDB) You can also load packages using the Packages Tab, by checking the box next to the package name. For example, documentation for the soilDB package is available from the help() function. help(package = "soilDB") 1.7 Getting Help R has extensive documentation, numerous mailing lists, and countless books (many of which are free and listed at end of each chapter for this course). To learn more about the function you are using and the options and arguments available, learn to help yourself by taking advantage of some of the following help functions in RStudio: Use the Help tab in the lower-right Window to search commands (such as hist) or topics (such as histogram). Type help(read.csv) or ?read.csv in the Console window to bring up a help page. Results will appear in the Help tab in the lower right-hand window. Certain functions may require quotations, such as help(\"+\"). # Help file for a function help(read.csv) # or ?read.csv # Help files for a package help(package = "soiltexture") 1.8 Documenting your work RStudio’s Source Tabs serve as a built-in text editor. Prior to executing R functions at the Console, commands are typically written down (or scripted). Scripting is essentially showing your work. The sequence of functions necessary to complete a task are scripted in order to document or automate a task. While scripting may seems cumbersome at first, it ultimately saves time in the long run, particularly for repetitive tasks (humorous YouTube Video on Scripting). Benefits include: allows others to reproduce your work, which is the foundation of science serves as instruction/reminder on how to perform a task allows rapid iteration, which saves time and allows the evaluation of incremental changes reduces the chance of human error 1.8.1 Basic Tips for Scripting To write a script, simply open a new R script file by clicking File>New File>R Script. Within the text editor type out a sequence of functions. Place each function (e.g. read.csv()) on a separate line. If a function has a long list of arguments, place each argument on a separate line. A command can be excuted from the text editor by placing the cursor on a line and typing Crtl + Enter, or by clicking the Run button. An entire R script file can be excuted by clicking the Source button. 1.8.2 Comments It is a good idea to include comments in your code, so that in the future both yourself and others can understand what you were doing. Each line with a comment starts with #. In RStudio, you can use # comments to create an “outline” for your source documents. Multiple # signs increase the depth of the hierarchy. Ending a comment line with four hyphens (----) indicates that text should be included in the outline. The source file outline using comments in regular .R source files is analogous to the Markdown syntax used in R Markdown and Quarto for headers. For example, the following code block creates two outline sections, each with a nested subsection. To show the outline view, click the “outline” button in the top-right hand corner of the source window. Paste it in a fresh R document to try it out. # one ---- print("Section 1") ## one two ---- # this is an ordinary comment (does not show in outline) print("Subsection 1.2") # two ---- print("Section 2") ## two one ---- print("Subsection 2.1) 1.9 Organizing your work When you first begin a project you should create a new folder and place within it all the data and code associated with the project. This simplifies the process of accessing your files from R. Using a project folder is also a good habit because it makes it easier to pickup where you left off and find your data if you need to come back to it later. Within R, your project folder is also known as your working directory. This directory will be the default location your plots and other R output are saved. You want to have inputs for your code in the working directory so that you can refer to them using relative file paths. Relative file paths make it easier if you move the folder containing your script(s) around. Or, if you share it with someone else, they will have little issue getting your code to work on their own file system. 1.9.1 Setting the Working Directory Before you begin working in R, you should set your working directory to your project folder; for example, setwd(\"C:\\\\workspace2\\\\projectx...\"). You can use RStudio to manage your projects and folders. NOTE: Beware when specifying any file paths that R uses forward slashes / instead of back slashes \\. Back slashes are reserved for use as an escape character, so you must use two of them to get one in result character string. To change the working directory in RStudio, select main menu Session >> Set Working Directory >> …. Or, from the “Files” tab click More >> Set As Working Directory to use the current location of the “Files” tab as your working directory. Setting the working directory can also be done via the Console with the setwd() command: setwd("C:/workspace2") To check the file path of the current working directory (which should now be \"C:\\\\workspace2\"), type: getwd() 1.9.2 RStudio Projects (.Rproj files) You can also manage your working directory using RStudio Projects. An RStudio Project file (.Rproj) is analogous to, for example, a .mxd file for ArcMap. It contains information about the specific settings you may have set for a “project”. You open or create projects using the drop down menu in the top right-hand corner of the RStudio window (shown below) RStudio Project Menu Here is what a typical Project drop-down menu looks like: RStudio Project Menu (expanded) You can create new projects from existing or new directories with “New Project…”. When you click “Open Project…”, your working directory is automatically set to the .Rproj file’s location – this is extremely handy Any projects you have created/used recently will show up in the “Project List” 1.10 Saving your work In R, you can save several types of files to keep track of the work you do. The file types include: workspace, script, history, and graphics. It is important to save often because R, like any other software, may crash periodically. Such problems are especially likely when working with large files. You can save your workspace in R via the command line or the File menu. 1.10.0.1 R script (.R) An R script is simply a text file of R commands that you’ve typed. You may want to save your scripts (whether they were written in R Editor or another program such as Notepad) so that you can reference them in the future, edit them as needed, and keep track of what you’ve done. To save R scripts in RStudio, simply click the save button from your R script tab. Save scripts with the .R extension. R assumes that script files are saved with only that extension. If you are using another text editor, you won’t need to worry about saving your scripts in R. You can open text files in the RStudio text editor, but beware copying and pasting from Word files as discussed below. To open an R script, click the file icon. 1.10.0.2 Microsoft Word Files Using Microsoft Word to write or save R scripts is generally a bad idea. Certain keyboard characters, such as quotations ““, are not stored the same in Word (e.g. they are”left” and “right” handed). The difference is hard to distinguish, but will not run in R. Also, pasting your R code or output into Wword documents manually is not reproducible, so while it may work in a pinch, it ultimately costs you time. You can use the word_document Rmarkdown template to automatically “Knit” .docx files from R code using a template, which is very handy for quickly getting a nice looking document! 1.10.0.3 R Markdown (.Rmd) R Markdown (.Rmd) documents contain information for the reproducible combination of narrative text and code to produce elegantly formatted output. You can use multiple languages in .Rmd documents including R, Python, and SQL. You can easily “knit” visually appealing and high-quality documents into rich HTML, PDF or Word documents from the RStudio interface. This document is made in bookdown, a variant of rmarkdown used for book templates involving multiple chapters. You can make blogs and websites for your R packages with blogdown and pkgdown. These are all tools based off of the powerful “pandoc” engine and the tools in the R Markdown ecosystem. 1.10.0.4 R history (.Rhistory) An R history file is a copy of all your key strokes. You can think of it as brute force way of saving your work. It can be useful if you didn’t document all your steps in an R script file. Like an R file, an Rhistory file is simply a text file that lists all of the commands that you’ve executed. It does not keep a record of the results. To load or save your R history from the History Tab click the Open File or Save button. If you load an Rhistory file, your previous commands will again become available with the up-arrow and down-arrow keys. You can also use the command line to load or save your history. savehistory(file = "sand.Rhistory") loadhistory(file = "sand.Rhistory") history(max.show=Inf) #displays all previous commands 1.10.0.5 R Graphics Graphic outputs can be saved in various formats. Format Function pdf pdf(“graphic.pdf”) window metafile win.metafile(“graphic.wmf”) png png(“graph.png”) jpeg jpeg(“graph.jpg”) bmp bmp(“graph.bmp”) postscript postscript(“graph.ps”) To save a graphic: (1) Click the Plots Tab window, (2) click the Export button, (3) Choose your desired format, (3) Modify the export settings as you desire, and (4) click Save. The R command for saving a graphic is: png(file = "npk_yield.png") plot(npk$yield) dev.off() The first line of this command creates a blank file named sand with a JPEG extension. The second line plots the data object that you want to create a graphic of (here it is conveniently the same name as the JPEG file we are creating). The third line closes the graphics device. 1.11 Exercise 1 Using the examples discussed thus far as a guide, demonstrate your mastery of the material by performing the following tasks. Create an R script file, demonstrate 3 basic R functions, and comment (#) your code. Install the FedData R package from CRAN and GitHub. Save the commands in your R script file. Load the FedData R package and read the help file for the get_ssurgo function within the FedData package. What is the 1st input/argument? Save the R command in your R script. Save your R script, and forward to your instructor. 1.12 Loading Data R can load a variety of data formats, however tabular data is by far the most common, and what we will spend of the majority of our time working with. Typically tabular data is stored in spreadsheets (e.g. .txt, .csv, .xlsx), databases (e.g. NASIS), or webpages (.html). Within R tabular data is stored as a data.frame. 1.12.0.1 Text files Text files are a preferable format for storing and transferring small datasets. One basic command for importing text files into R is read.csv(). The command is followed by the file name or URL and then some optional instructions for how to read the file. These files can either be imported into R by clicking the Import Dataset >> From Text buttons from the Environment tab, or by typing the following command into the R console: # from working directory sand <- read.csv("C:/workspace2/sand_example.csv") # from URL sand <- read.csv("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/data/sand_example.csv") 1.12.0.2 Excel files R can import Excel files, but generally speaking it is a bad idea to use Excel. Excel has a dangerous default which automatically converts data with common notations to their standard format without warning or notice. For example, the character “11-JUN” entered into a cell automatically becomes the date 6/11/2021, even though the data is still displayed as 11-JUN. The only way to avoid this default behavior is to manually import your data into Excel via the Data Tab>Get External Data Ribbon, and manually set the data type of all your columns to text. Failure to do so has resulted in numerous retracted research articles (Washington Post Article). Warnings aside, Excel files are a very common and are a format most people are familiar with. Therefore we will illustrate how to bring them into R. Download the sand Excel dataset from GitHub at https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/Pre-course/R_sand/sand_example.xlsx Excel datasets can either be imported into R by clicking the Import Dataset >> From Excel buttons from the Environment tab, or by typing the following command into the R console: library(readxl) sand_example <- read_excel("sand_example.xlsx") 1.12.0.3 NASIS (Web) Reports NASIS provides a plethora of reports, many of which can be read into R for analysis. The soilDB R package provides a series of functions to read data from NASIS either using a local database connection or via HTML web reports. Similar functions also exist for accessing tabular data from Soil Data Access. More details on soilDB will be provided in the next chapter, but now we’ll illustrate how to access some example datasets for manipulating tabular data. library(soilDB) # get projects prj <- get_project_from_NASISWebReport(mlrassoarea = "11-IND", fiscalyear = 2020) # get legends leg <- get_legend_from_NASISWebReport(mlraoffice = "Indi%", areasymbol = "%") # get map units mu <- get_mapunit_from_NASISWebReport(areasymbol = c("IN001", "IN11%")) 1.13 Data manipulation Before we can do any sort of analysis, analysis, our data often needs to be manipulated one way or another. Estimates vary, but an analyst typically spend 80% of their time manipulating data, and only 20% actually analyzing or modeling. Tasks generally involve filtering, transforming, merging, aggregating, and reshaping data. R has many functions and packages for manipulating data frames, but within the past several years a family of packages, known as the tidyverse, have been developed to simplify interacting with data frames (or tibbles). Within the tidyverse the most commonly used packages are dplyr and tidyr. Many of the tidyverse function names are patterned after SQL syntax. We will review the most common functions you need to know in order to accomplish the majority of data manipulation tasks. 1.13.1 Viewing and Removing Data Once a file is imported, it is imperative that you check to ensure that R correctly imported your data. Make sure numerical data are correctly imported as numerical, that your column headings are preserved, etc. To view the data simply click on the mu dataset listed in the Environment tab. This will open up a separate window that displays a spreadsheet like view. Additionally you can use the following functions to view your data in R. Function Description print() prints the entire object (avoid with large tables) head() prints the first 6 lines of your data str() shows the data structure of an R object names() lists the column names (i.e., headers) of your data ls() lists all the R objects in your workspace directory Try entering the following commands to view the mu dataset in R: str(mu) names(mu) head(mu) ls() A data object is anything you’ve created or imported and assigned a name to in R. The Environment tab allows you to see what data objects are in your R session and expand their structure. Right now sand should be the only data object listed. If you wanted to delete all data objects from your R session, you could click the broom icon from the Environments tab. Otherwise you could type: # Remove all R objects rm(list = ls(all = TRUE)) # Remove individual objects rm(mu, leg, sand) 1.13.2 Filtering or Subsetting Data When analyzing data in NASIS, filtering is typically accomplished by loading your selected set with only the records you’re interested in. However, it is often useful or necessary to subset your data after it’s loaded. This can allow you to isolate interesting records within large datasets. For these reasons R has numerous options/functions for filtering data. Data frames can be filtered by both columns and rows, using either names, position (e.g. column 1, row 5), or logical indices (e.g. TRUE/FALSE). Another particularly useful feature is the use of pattern matching which uses regular expressions to select data, which is similar to the LIKE statement from SQL. **Filtering with names and numerical indices # Filtering with names mu$areasymbol # select column names using $ mu[, c("areasymbol", "musym")] # select column names using [] mu[c("1", "2"), ] # select row names using [] mu[c("1", "2"), c("areasymbol", "musym")] # select column and row names using [] # Filtering by position mu[1, ] # select first row mu[, 1] # select first column mu[2, 2] # select second row and second column mu[c(1, 2, 3), ] # select multiple rows mu[c(-1, -2), ] # drop multiple rows Logical Operators == R uses a double equal sign as “equal-to” in SQL != “Not-equal-to” <, >, <=, >= Less than, greater than, less than or equal to, and greater than or equal & Equivalent to AND in SQL and Soil Taxonomy, must match both conditions | Equivalent to OR in SQL and Soil Taxonomy, must match at least one condition %in% Equivalent to IN () in SQL (e.g. mu$areasymbol %in% c(\"IN001\", \"IN111\") grepl() equivalent to LIKE in SQL (e.g. grepl(\"IN%\", mu$areasymbol)) Filtering with logicals # Standard evaluation with base R [] # Filtering with logicals mu[mu$areasymbol == "IN001", ] # select rows that equal IN001 mu[mu$areasymbol != "IN001", ] # select rows that do not equal IN001 mu[, names(mu) == "areasymbol"] # select columns that equal areasymbol mu[, names(mu) %in% c("areasymbol", "musym")] # select columns that match areasymbol and musym mu[grepl("Miami", mu$muname), ] # select rows that contain Miami # Non-standard evaluation with tidyverse library(dplyr) # Filtering rows filter(mu, areasymbol == "IN001") filter(mu, areasymbol != "IN001") filter(mu, areasymbol %in% c("IN001", "IN111")) filter(mu, grepl("Miami", muname)) filter(mu, muacres > 0) # Select columns select(mu, areasymbol, musym) # Slice rows slice(mu, 1:5) 1.13.3 Transforming Data This allows you to create new columns by convert, compute, or combine data within existing columns. mu <- mutate( mu, # convert to hectares muhectares = muacres * 0.4047, # convert muname to TRUE or FALSE if Miami is present using pattern matching miami = grepl("Miami", muname), # compute % minor component n_minor = n_component - n_majcompflag, # combine columns key = paste(areasymbol, musym) ) 1.13.4 Sorting Data Sorting allows you to rearrange your data. Beware R has several similar functions (e.g. sort and order) for sorting data only work with specific datatypes. The tidyverse function arrange is designed to work with data frames. # sort ascending arrange(mu, areasymbol, muname) # sort descending arrange(mu, desc(areasymbol), desc(muname)) 1.13.5 Piping Data Another particularly useful feature provided by the magrittr package and used in the tidyverse is the use of pipe (%>%). Base R also has a native pipe operator (|>). Using the RStudio keyboard shortcut Ctrl + Shift + M inserts the pipe you have selected as default in Global Options > Code. f(x,y) becomes x %>% f(y) The “pipe” is something that occurs in many programming languages and computing contexts. It allows output from one expression to be passed as input to the first argument of the next function. This allows sequences of commands to be read from right to left b(or top to bottom) rather than from the inside out. # non-piping example 1 mu_sub <- filter(mu, areasymbol == "IN001") mu_sub <- mutate(mu_sub, pct_100less = pct_component < 100) # non-piping example 2 mu_sub <- mutate(filter(mu, areasymbol == "IN001"), pct_100less = pct_component < 100) # piping mu_sub <- mu %>% filter(areasymbol == "IN001") %>% mutate(pct_100less = pct_component < 100) 1.13.6 Merging/Joining or Combining Data Joining When working with tabular data you often have 2 or more tables you need to join. There are several ways to join tables. Which direction to join and which columns to join will determine how you achieve the join. # inner join leg_mu <- inner_join(leg, mu, by = c("liid", "areasymbol")) # left join leg_mu <- left_join(leg, mu, by = c("liid")) # right_join leg_mu <- right_join(leg, mu, by = "liid") Combining If your tables have the same structure (e.g. columns), or length and order you may simply combine them. For example, if you have two different mapunit tables. # combine rows rbind(mu, mu) rbind(mu, leg) # won't work # combine columns cbind(mu, mu) # beware combine tables with duplicate column names cbind(mu, areasymbol_2 = mu$areasymbol) cbind(mu, leg) # won't work 1.13.7 Aggregating or Grouping Data Because soil data has multiple dimensions (e.g. properties and depths) and levels of organization (e.g. many to one relationships), it is often necessary to aggregate it. For example, when we wish to make a map we often need to aggregate over components and then map units. Depending on the data type this aggregation may involve taking a weighted average or selecting the dominant condition. The group_by function defines the groups over which we wish to summarize the data. mu_agg <- mu %>% group_by(grpname, areasymbol) %>% summarize(sum_muacres = sum(muacres), n_musym = length(musym) ) 1.13.8 Reshaping Data Typically data is stored in what is known as a wide format, where each column contains a different variable (e.g. depth, clay, sand, rocks). However, sometimes it is necessary to reshape or pivot to a long format, where each variable/column is compressed into 2 new rows. One new column contains the old column names, while another new column contains the values from the old columns. This is particularly useful when combining multiple variables into a single plot. library(tidyr) # Simplify mu example dataset mu2 <- mu %>% select(grpname, areasymbol, musym, muacres, n_component, pct_hydric) %>% slice(1:5) print(mu2) # Pivot long mu2_long <- pivot_longer(mu2, cols = c(muacres, n_component, pct_hydric)) print(mu2_long) # Pivot wide mu2_wide <- pivot_wider(mu2_long, names_from = name) print(mu2_wide) 1.13.9 Exporting Data To export data from R, use the command write.csv() or write.dbf() functions. Since we have already set our working directory, R automatically saves our file into the working directory. write.csv(mu_agg, file = "mu_agg.csv") library(foreign) write.dbf(as.data.frame(mu_agg), file = "mu_agg.dbf") 1.14 Exercise 2 Create a new R script file. To get information from the NASIS legend table for the state of Wisconsin use the soilDB function get_legend_from_NASISWebReport() for mlraoffice = \"%\" and areasymbol = \"WI%\" Filter the legend table for rows where the ssastatus == \"Out-of-date\" to find the soil survey areas that need update. Inspect the result to find the areasymbol values. Load the mapunit table, using soilDB get_mapunit_from_NASISWebReport() using the area symbols you identified in step 3. Calculate the acreage of hydric soils for each mapunit by multiplying muacres by pct_hydric. Note: pct_hydric is a percentage, not a proportion. Aggregate the total acreage of hydric soils each soil survey area using dplyr functions group_by() and summarize(). Join the aggregated mapunit table from Step 6 to the legend table from Step 3 using dplyr left_join(). Calculate the proportion of the total soil survey area acres (areaacres) that are hydric soils. Answer the following questions: What soil survey areas need update in Wisconsin? What proportion of those soil survey areas are hydric soils? Bonus: How does your joined result in Step 7 differ if you replace dplyr left_join() with inner_join()? Why? Save your R script and forward to your instructor. 1.15 Review Given what you now know about R, try to answer the following questions: Can you think of a situation where an existing hypothesis or conventional wisdom was not repeatable? What are packages? What is GitHub? Where can you get help? What is a data frame? What are 3 ways you can manipulate a data frame? 1.16 Additional Reading (Introduction) Introductory R Books R for Data Science RStudio Cheatsheets Quick-R Advanced DSM R Books Predictive Soil Mapping with R Using R for Digital Soil Mapping (not free) Soil Spectral Inference with R (not free) GSP SOC Cookbook GSP SAS Manual Soil Science R Applications aqp and soilDB tutorials ISRIC World Soil Information Example Training Courses ISRIC World Soil Information YouTube Channel OpenGeoHub Courses OpenGeoHub YouTube Channel David Rossiter’s Cornell Homepage Pierre Roudier Soil Sciences and Statistics Review Articles Arkely, R., 1976. Statistical Methods in Soil Classification Research. Advances in Agronomy 28:37-70. https://www.sciencedirect.com/science/article/pii/S0065211308605520 Mausbach, M., and L. Wilding, 1991. Spatial Variability of Soils and Landforms. Soil Science Society of America, Madison. https://dl.sciencesocieties.org/publications/books/tocs/sssaspecialpubl/spatialvariabil Wilding, L., Smeck, N., and G. Hall, 1983. Spatial Variability and Pedology. In : L. Widling, N. Smeck, and G. Hall (Eds). Pedogenesis and Soil Taxonomy I. Conceps and Interactions. Elseiver, Amsterdam, pp. 83-116. https://www.sciencedirect.com/science/article/pii/S0166248108705993 References Arnold, R. W., and L. P. Wilding. 1991. “The Need to Quantify Spatial Variability.” In SSSA Special Publications, edited by M. J. Mausbach and L. P. Wilding, 1–8. Madison, WI, USA: Soil Science Society of America. https://doi.org/10.2136/sssaspecpub28.c1. Brevik, Eric C., Jeffrey A. Homburg, Bradley A. Miller, Thomas E. Fenton, James A. Doolittle, and Samuel J. Indorante. 2016. “Selected Highlights in American Soil Science History from the 1980s to the Mid-2010s.” CATENA 146 (November): 128–46. https://doi.org/10.1016/j.catena.2016.06.021. Chaney, Nathaniel W., Eric F. Wood, Alexander B. McBratney, Jonathan W. Hempel, Travis W. Nauman, Colby W. Brungard, and Nathan P. Odgers. 2016. “POLARIS: A 30-Meter Probabilistic Soil Series Map of the Contiguous United States.” Geoderma 274: 54–67. https://doi.org/10.1016/j.geoderma.2016.03.025. Hennemann, G R, and D G Rossiter. 2004. “Training Needs for the Next Generation of Soil Surveyors.” In International Conference on Innovative Techniques in Soil Survey, Cha’am, Thailand, 21-26 March 2004, 22–26. Cha-Am, Thailand: Land Development Department. http://www.css.cornell.edu/faculty/dgr2/Docs/ChaAm/ChaAmKeynoteHennemann.pdf. Ihaka, Ross, and Robert Gentleman. 1996. “R: A Language for Data Analysis and Graphics.” Journal of Computational and Graphical Statistics 5 (3): 299–314. https://doi.org/10.1080/10618600.1996.10474713. Kempen, Bas, Dick J. Brus, Jetse J. Stoorvogel, Gerard B. M. Heuvelink, and Folkert de Vries. 2012. “Efficiency Comparison of Conventional and Digital Soil Mapping for Updating Soil Maps.” Soil Science Society of America Journal 76 (6): 2097–2115. https://doi.org/https://doi.org/10.2136/sssaj2011.0424. MacMillan, Robert A., David E. Moon, and Ray A. Coupé. 2007. “Automated Predictive Ecological Mapping in a Forest Region of b.c., Canada, 2001–2005.” Geoderma 140 (4): 353–73. https://doi.org/10.1016/j.geoderma.2007.04.027. Mausbach, M. J. 2003. “The Importance of Statistical Documentation - Keeping Soil Survey Information Relevant in the 21st Century.” In 2003 National Cooperative Soil Survey Conference, 3–6. Plymouth, Massachusetts: National Cooperative Soil Survey. https://web.archive.org/web/20220121020421/https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs142p2_051833.pdf. Maynard, Jonathan J., Travis W. Nauman, Shawn W. Salley, Brandon T. Bestelmeyer, Michael C. Duniway, Curtis J. Talbot, and Joel R. Brown. 2019. “Digital Mapping of Ecological Land Units Using a Nationally Scalable Modeling Framework.” Soil Science Society of America Journal 83 (3): 666–66. https://doi.org/10.2136/sssaj2018.09.0346. Ramcharan, Amanda, Tomislav Hengl, Travis Nauman, Colby Brungard, Sharon Waltman, Skye Wills, and James Thompson. 2018. “Soil Property and Class Maps of the Conterminous United States at 100-Meter Spatial Resolution.” Soil Science Society of America Journal 82 (1): 186–201. https://doi.org/https://doi.org/10.2136/sssaj2017.04.0122. "],["data.html", "Chapter 2 The Data We Use 2.1 Objectives (The Data We Use) 2.2 The Structure of Soil Data 2.3 Challenges with Pedon Data 2.4 The SoilProfileCollection 2.5 Exercise 1: Assemble a SoilProfileCollection from several CSV files 2.6 Using the soilDB Package 2.7 Working with Data in R 2.8 Exercise 2: Generalized Horizons with Loafercreek 2.9 fetchNASIS() data checks 2.10 Extended Data Functions 2.11 Exercise 3: Diagnostic Horizons in Your Own Data 2.12 Custom Queries to Local NASIS Database", " Chapter 2 The Data We Use 2.1 Objectives (The Data We Use) Expand on basic R skills from Chapter 1 Inspect and work with different data types Perform operations on data such as filtering and aggregation Begin to explore regular expression (regex) patterns for text data Learn how functions can be used to bundle operations Work with Soil Data Sources and Structures Use the soilDB package to load data into R Understand the SoilProfileCollection (SPC) object Learn about the data checks in the fetchNASIS() function 2.2 The Structure of Soil Data What if you could extract, organize, and visualize data from NASIS and many other commonly used soil database sources with a couple of lines of code? The aqp (Algorithms for Quantitative Pedology) and soilDB packages enable data to be fetched from various sources and cast into a SoilProfileCollection (SPC) object. Tabular and spatial data objects fetched via soilDB and processed using aqp methods can simplify the process of working with commonly used soil data. 2.2.1 Package References Package ‘aqp’ manual Package ‘soilDB’ manual Package ‘sharpshootR’ manual SoilProfileCollection Object Introduction Tutorials on the AQP website The manual pages for soilDB and aqp are accessible (click index at the bottom of the Help tab in RStudio) by entering the following into the R console: # load the libraries library(aqp) library(soilDB) 2.2.2 Importance of Pedon Data The importance of pedon data for present and future work cannot be overstated. These data represent decades of on-the-ground observations of the soil resource for a given area. As difficult as it may be to take the time to enter legacy pedon data, it is vitally important that we capture this resource and get these data into NASIS as an archive of point observations. 2.2.3 Some Issues With Pedon Data Making and documenting observations of soil requires hard work. Digging is difficult, and writing soil descriptions is time consuming! Our confidence in observations typically weakens with the depth of the material described. If we acknowledge this, which we must, then how do we deal with it in pedon data? Use a cutoff depth, for example 100 cm, can be used to truncate observations to a zone of greater confidence. Show the relative confidence of the data with depth. 2.3 Challenges with Pedon Data Consistency Missing data Confidence in the observations Uncertainty with depth Description style differences Depth described, horizonation usage styles Legacy data vintage Decadal span of data Taxonomy updates, horizon nomenclature changes Location confidence Origin of the location information Datum used for data collection Accuracy for GPS values at the time of data collection 2.4 The SoilProfileCollection The SoilProfileCollection class (SPC) provided by the aqp package is a specialized structure for soil data analysis. It simplifies the process of working with collections of data associated with soil profiles, e.g., site-level, horizon-level, spatial, diagnostic horizons, and other metadata. A SoilProfileCollection is similar to the NASIS Site/Pedon “object” in that it provides generalizations, specific routines and rules about data tables and their relationships. The SoilProfileCollection is an S4 R object. S4 objects have slots. Of primary importance, are the slots for site-level and horizon-level data. In many ways the SPC is more adaptable than the NASIS “Pedon” concept because it is more general. However, the SPC is not as expressive as the complex hierarchy of objects in NASIS, which are more aligned with data archival vs. analysis. 2.4.1 SoilProfileCollection methods Many “familiar” methods are defined for the SoilProfileCollection object. Some are unique, and others operate like more common functions of vector and data.frame objects, such as nrow() (“how many horizons?”) or length() (“how many sites/pedons?”). Perhaps most importantly, when you access the site data (with site(<object>)) or the horizon data (with horizons(<object>)) of a SoilProfileCollection, you get a data.frame object that you can use like any other you might use or make in R. 2.4.1.1 Promoting a data.frame to SoilProfileCollection The SoilProfileCollection object is a collection of 1-dimensional profile descriptions, of the type conventionally described on a Form 232, or of tabular data returned from laboratory. The object is “horizon data forward” in that you start with the layers, and can add or create site-level attributes by normalization, joins, and calculation. Most of the time if you are using your NASIS data, or an official database, there are defined ways of getting the data “into” an SPC. For example, fetchOSD returns a SoilProfileCollection that has been assembled from horizon and site level attributes gleaned from the OSDs text, Soil Classification database, and other sources. In the pre-course, we had you set up a process so you could connect to your local NASIS instance to “fetch” data and have methods like fetchNASIS put things together for you. This input to make a SoilProfileCollection can be represented most simply as a data.frame with unique site or profile ID and depth combinations for each horizon or layer–for example, a subset of the phorizon or chorizon table in NASIS. A simple demonstration of “tabular horizon data” is the sp4 data set bundled with aqp: some serpentine soil profiles stored in a data.frame in the aqp package (after McGahan et al., 2009). library(aqp) # Load sample serpentine soil data (McGahan et al., 2009) data(sp4, package = "aqp") # this is a data.frame # same as if loaded from CSV file etc. class(sp4) ## [1] "data.frame" # inspect the first couple of rows head(sp4) ## id name top bottom K Mg Ca CEC_7 ex_Ca_to_Mg sand silt clay CF ## 1 colusa A 0 3 0.3 25.7 9.0 23.0 0.35 46 33 21 0.12 ## 2 colusa ABt 3 8 0.2 23.7 5.6 21.4 0.23 42 31 27 0.27 ## 3 colusa Bt1 8 30 0.1 23.2 1.9 23.7 0.08 40 28 32 0.27 ## 4 colusa Bt2 30 42 0.1 44.3 0.3 43.0 0.01 27 18 55 0.16 ## 5 glenn A 0 9 0.2 21.9 4.4 18.8 0.20 54 20 25 0.55 ## 6 glenn Bt 9 34 0.3 18.9 4.5 27.5 0.20 49 18 34 0.84 To convert this horizon data into a SoilProfileCollection, we need to identify three parameters: idname, top, and bottom. These parameters refer to the columns of unique profile IDs, top depths and bottom depths, respectively. There are a couple of important constraints and considerations: records (rows) represent horizons profiles are uniquely identified by a column (user pedon ID, pedon record ID, etc.) profiles IDs cannot contain missing values (NA) horizon top and bottom depths are identified by columns ideally there are no gaps, overlap, or missing top/bottom depths (more on that later) Use a formula to specify column names in the data.frame, in this case \"id\", \"top\" and \"bottom\". # profile ID ~ top depth + bottom depth depths(sp4) <- id ~ top + bottom # note new class class(sp4) ## [1] "SoilProfileCollection" ## attr(,"package") ## [1] "aqp" # compact summary sp4 ## SoilProfileCollection with 10 profiles and 30 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 16 - 49 cm ## ## ----- Horizons (6 / 30 rows | 10 / 14 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## colusa 3 8 30 Bt1 0.1 23.2 1.9 23.7 0.08 ## colusa 4 30 42 Bt2 0.1 44.3 0.3 43.0 0.01 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## [... more horizons ...] ## ## ----- Sites (6 / 10 rows | 1 / 1 columns) ----- ## id ## colusa ## glenn ## kings ## mariposa ## mendocino ## napa ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] The formula expresses the idea that a profile id defined by set of top and bottom depths. NOTE: A character vector with same names has the same effect, and can be easier to “program” with than the formula-based syntax. depths(sp4) <- c("id", "top", "bottom") 2.4.2 Promoting to “Spatial” SoilProfileCollection You can also use the SoilProfileCollection to manage the information about a profile’s position on the Earth. Chapter 4 will cover spatial data in greater detail, and the SoilProfileCollection Reference has a section on Spatial Data. For now know you can use the initSpatial<- method to define “X” and “Y” coordinate columns and the coordinate reference system in one line: sp4$x <- runif(10); sp4$y <- runif(10) # dummy XY coordinates initSpatial(sp4, crs = "EPSG:4326") <- ~ x + y This is new syntax introduced in aqp 2.0, the older syntax uses the coordinates<- and proj4string<- methods. 2.4.2.1 Extracting Site and Horizon Data You can extract values from the collection’s @site and @horizon slots using the site() and horizons() functions. These create data.frame objects that are separate from the SoilProfileCollection. # extract site data from SPC into new data.frame 's' # note that it only contains profile IDs s <- site(sp4) str(s) ## 'data.frame': 10 obs. of 1 variable: ## $ id: chr "colusa" "glenn" "kings" "mariposa" ... # extract horizon data from SPC into new data.frame 'h' h <- horizons(sp4) str(h) ## 'data.frame': 30 obs. of 14 variables: ## $ id : chr "colusa" "colusa" "colusa" "colusa" ... ## $ name : chr "A" "ABt" "Bt1" "Bt2" ... ## $ top : int 0 3 8 30 0 9 0 4 13 0 ... ## $ bottom : int 3 8 30 42 9 34 4 13 40 3 ... ## $ K : num 0.3 0.2 0.1 0.1 0.2 0.3 0.2 0.6 0.8 0.6 ... ## $ Mg : num 25.7 23.7 23.2 44.3 21.9 18.9 12.1 12.1 17.7 28.3 ... ## $ Ca : num 9 5.6 1.9 0.3 4.4 4.5 1.4 7 4.4 5.8 ... ## $ CEC_7 : num 23 21.4 23.7 43 18.8 27.5 23.7 18 20 29.3 ... ## $ ex_Ca_to_Mg: num 0.35 0.23 0.08 0.01 0.2 0.2 0.58 0.51 0.25 0.2 ... ## $ sand : int 46 42 40 27 54 49 43 36 27 42 ... ## $ silt : int 33 31 28 18 20 18 55 49 45 26 ... ## $ clay : int 21 27 32 55 25 34 3 15 27 32 ... ## $ CF : num 0.12 0.27 0.27 0.16 0.55 0.84 0.5 0.75 0.67 0.25 ... ## $ hzID : chr "1" "2" "3" "4" ... 2.4.2.2 Methods like data.frame The base R functions for accessing and setting data.frame columns by name such as $ and [[ work for SoilProfileCollection objects, too. Review data.frame methods: [[ and $: single columns in data.frame, by name x[['variable']] x$variable [: combinations of rows and columns, by name or index x[i, ]: specified rows, all columns x[, j]: all rows, specified columns x[i, j]: specified rows, specified columns See Chapter 1 and the Chapter 2 Appendix for additional details and examples. 2.4.2.2.1 Column Access by Name: $ and [[ # sp4 is a SoilProfileCollection sp4$clay ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 sp4[['clay']] ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 # horizon data.frame h$clay ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 h[['clay']] ## [1] 21 27 32 55 25 34 3 15 27 32 25 31 33 13 21 23 15 17 12 19 14 14 22 25 40 51 67 24 25 32 # use $<- or [[<- to set proportional clay content sp4$clay <- sp4[['clay']] / 100 # undo what we did above; back to percentage sp4[['clay']] <- sp4$clay * 100 # create new site variable ("numberone" recycled for all sites) site(sp4)$newvar1 <- "numberone" # create new horizon variable ("numbertwo" recycled for all horizons) horizons(sp4)$newvar2 <- "numbertwo" 2.4.2.2.2 Row Access: [ The SoilProfileCollection also has [ (“single bracket”), but with a different interpretation from the [i, j] indexing of data.frame objects. In a data.frame you have object[row, column, drop=TRUE]; the result is a data.frame (or a vector with default drop=TRUE). In a SoilProfileCollection you have object[site, horizon]; the result is a SoilProfileCollection. # i-index: first 2 profiles, all horizons sp4[1:2, ] ## SoilProfileCollection with 2 profiles and 6 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 34 - 42 cm ## ## ----- Horizons (6 / 6 rows | 10 / 15 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## colusa 3 8 30 Bt1 0.1 23.2 1.9 23.7 0.08 ## colusa 4 30 42 Bt2 0.1 44.3 0.3 43.0 0.01 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## ## ----- Sites (2 / 2 rows | 2 / 2 columns) ----- ## id newvar1 ## colusa numberone ## glenn numberone ## ## Spatial Data: ## [EMPTY] # j-index: all profiles; first 2 horizons of each profile sp4[, 1:2] ## SoilProfileCollection with 10 profiles and 20 horizons ## profile ID: id | horizon ID: hzID ## Depth range: 5 - 40 cm ## ## ----- Horizons (6 / 20 rows | 10 / 15 columns) ----- ## id hzID top bottom name K Mg Ca CEC_7 ex_Ca_to_Mg ## colusa 1 0 3 A 0.3 25.7 9.0 23.0 0.35 ## colusa 2 3 8 ABt 0.2 23.7 5.6 21.4 0.23 ## glenn 5 0 9 A 0.2 21.9 4.4 18.8 0.20 ## glenn 6 9 34 Bt 0.3 18.9 4.5 27.5 0.20 ## kings 7 0 4 A 0.2 12.1 1.4 23.7 0.58 ## kings 8 4 13 Bt1 0.6 12.1 7.0 18.0 0.51 ## [... more horizons ...] ## ## ----- Sites (6 / 10 rows | 2 / 2 columns) ----- ## id newvar1 ## colusa numberone ## glenn numberone ## kings numberone ## mariposa numberone ## mendocino numberone ## napa numberone ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] When you use the [ function, everything in the SoilProfileCollection is subset simultaneously depending on the constraints specified by the indices. # First profile, first 2 horizons horizons(sp4[1, 1:2]) ## id name top bottom K Mg Ca CEC_7 ex_Ca_to_Mg sand silt clay CF hzID newvar2 ## 1 colusa A 0 3 0.3 25.7 9.0 23.0 0.35 46 33 21 0.12 1 numbertwo ## 2 colusa ABt 3 8 0.2 23.7 5.6 21.4 0.23 42 31 27 0.27 2 numbertwo All slots in the collection have a relationship to the site or i-index. When you remove sites (profiles), all associated records (e.g. spatial, diagnostics, horizons, etc.) in the object are removed. Similarly, when all horizons are removed (say, you request the 6th j-index from a profile that has only 5 layers), the site index and all associated data are removed from the collection. 2.5 Exercise 1: Assemble a SoilProfileCollection from several CSV files Link to exercise R code Questions: Run the code in the linked R file and answer these questions. How many profiles (sites) and horizons are in the granite SoilProfileCollection? How many in andesite? See length() and nrow() functions for SoilProfileCollection objects. Which profile (and which horizon in that profile) has the highest ratio of oxalate-extractable Fe to dithionite-citrate-extractable Fe (Fe_o_to_Fe_d)? Send the results of questions (and any code you used) to your mentor. 2.6 Using the soilDB Package The soilDB package for R provides functions for accessing data stored in NASIS, KSSL, SDA, SoilWeb, SoilGrids and other sources. These high-level ‘fetch’ functions bundle or wrap lower-level get functions which access internal database interfaces to NASIS and other data sources. The ODBC connection to NASIS that you set up during the pre-course is an example of this internal database interface. Basic data checks are run within fetch functions. These checks ensure the basic integrity of the data as it is queried and moved from its existing structure into an SPC. There are times when it is useful to use the lower-level get functions individually. They generally return single data.frame or list of data.frame. You can set up scripts to make custom queries against these or other sources on your own – there is an example at the end of this section. For now, we will start with the fetch functions and others that will get you a large variety of data you can use for soil and ecological site analyses. 2.6.1 soilDB functions for tabular data soilDB functions are the quickest way to get up and running: fetchNASIS() Gets and re-packages data from a local NASIS database. soilDB Vignette Columns in fetchNASIS(from=\"pedons\") fetchVegdata() Gets Vegetation Plot and related/child tables into a list from a local NASIS database. fetchNASISLabData() Gets KSSL laboratory pedon/horizon layer data from a local NASIS database. fetchNASISWebReport() SDA_query() Can be used to access SSURGO, STATSGO (spatial and tabular), and Lab DataMart snapshots Submits queries to the Soil Data Access system. Soil Data Access Tutorial SDA and Spatial Data SDA and Interpretations fetchLDM() Gets KSSL data from the Lab Data Mart snapshot in Soil Data Access fetchSDA() Fetches legend/mapunit/component/horizon data from Soil Data Access. fetchKSSL() Gets KSSL data from the SoilWeb system via BBOX, MLRA, or series name query. KSSL Data Demo Water Retention Curve Development from KSSL Data fetchOSD() Fetches a limited subset of horizon- and site-level attributes for named soil series from the SoilWeb system. Querying Soil Series Data OSDquery() Full-text searching of OSD sections. Querying Soil Series Data fetchSCAN() Queries soil and climate data from USDA-NRCS SCAN Stations. A Unified Interface to SCAN/SNOTEL Data fetchHenry() Downloads data from the Henry Mount Soil Climate Database. Henry Mount Soil Climate Database Tutorial fetchPedonPC() Fetches commonly used site and horizon data from a PedonPC (MS Access) database. 2.6.2 Open Database Connectivity (ODBC) Connection to NASIS After setting up an ODBC connection, as you did as part of the pre-course, you can use R to access data from a selected set defined in your local NASIS database. How to Create an ODBC Connection to local NASIS database for R. Does NASIS need to be open and running to query data using soilDB? No, fetchNASIS() works whether the NASIS application is running or not. You just need to make sure that the data you want has been loaded into your selected set. 2.6.3 fetchNASIS() The fetchNASIS() convenience function extracts data from a NASIS selected set via Structured Query Language (SQL). Note that the import process in fetchNASIS(), and the other methods, is not comprehensive. It does not pull every column for every table related to pedon data out of NASIS. Instead, it pulls essential / commonly used pedon and horizon data. Higher level functions like fetchNASIS() bundle a series of lower-level queries to get specific parts of the Pedon or Component data structures. Much of the nested complexity of NASIS is simplified in the resulting object. Many-to-one relationships are “flattened” where possible by fetchNASIS(). This aggregates the data from various tables into one “site” record with related horizon records, per profile. You can see the child tables that are aggregated using the get_extended_data_from_NASIS() method, which returns a named list of child table sources that can be joined to the SoilProfileCollection made with fetchNASIS() using the internal record IDs. 2.6.3.1 fetchNASIS arguments fetchNASIS() has a number of different arguments: from = ‘pedons’ or ‘components’ or ‘pedon_report’ This option allows you to select which data you want to load from NASIS. Choosing either ‘pedons’ or ‘components’ will load data from your local database. If ‘pedon_report’ is specified then it will load data from the text file generated by the NASIS report ‘fetchNASIS’ (run offline). This is useful for loading more than 20,000 pedons at one time, such for an entire Soil Survey Region. url = string specifying the (temporary) URL for the NASIS pedon_report output generated by the fetchNASIS NASIS Report that can be run “Offline Against National Database” EXAMPLE OUTPUT (MT663) SS = TRUE/FALSE The Selected Set (SS) option allows you to choose whether you want the data to load from your current selected set in NASIS or from the local database tables. The default is set to TRUE so if unspecified fetchNASIS() will always load from the data in the selected set. stringAsFactors = NULL This option is no longer used. See soilDB::NASISDomainsAsFactor() rmHzErrors = TRUE/FALSE Setting this value to TRUE removes pedons that do not pass checks for horizon depth consistency. Default: FALSE nullFragsAreZero = TRUE/FALSE Setting this value to TRUE (the default) converts null entries for rock fragment volumes to 0. This is typically the right assumption because rock fragment data are typically populated only when observed. If you know that your data contain a combination of omitted information (e.g. no rock fragment volumes are populated) then consider setting this argument to FALSE. soilColorState = ‘moist’ or ‘dry’ Select dry or moist colors to be converted and placed into a horizon-level attribute called soil_color. The default is set to ‘moist’ unless specified. Moist and dry colors are also stored in moist_soil_color and dry_soil_color. lab = TRUE/FALSE This option allows for loading the data associated with horizons that may be in the phlabresults table. The default is set to FALSE, which will not load records from the phlabresults table. fill = TRUE/FALSE This option adds horizons to pedons or components that lack horizon data in the database, preserving their “position” within the output SoilProfileCollection object. Default is FALSE such that profiles without horizons are omitted from the result. dropAdditional = TRUE/FALSE Used only for from='components' with duplicates = TRUE. Prevent “duplication” of mustatus == \"additional\" mapunits? Default: TRUE dropNonRepresentative = TRUE/FALSE Used only for from='components' with duplicates = TRUE. Prevent “duplication” of non-representative data mapunits? Default: TRUE duplicates = FALSE Used only for from='components'. Duplicate components for all instances of use (i.e. one for each legend data mapunit is used on; optionally for additional mapunits, and/or non-representative data mapunits?). This will include columns from get_component_correlation_data_from_NASIS_db() that identify which legend(s) each component is used on. NOTE: This requires that parent tables above “component” (such as legend, mapunit, correlation and datamapunit) are loaded in your NASIS database/selected set. dsn = NULL Optional: custom path to an SQLite snapshot or DBIConnection object to database with NASIS schema. See soilDB::createStaticNASIS(). For more information on the data checks and adjusting the default options to fetchNASIS() function, see the following resource: Tips on Getting Data from NASIS into R. 2.6.4 The gopheridge Dataset The gopheridge sample data set is a sample R object returned from fetchNASIS() in a self-contained .rda file stored in soilDB. Open RStudio, and set up the environment by loading packages and the gopheridge sample dataset. library(aqp) library(soilDB) # load example dataset data(gopheridge, package = "soilDB") # what kind of object is this? class(gopheridge) ## [1] "SoilProfileCollection" ## attr(,"package") ## [1] "aqp" # what does the internal structure look like? str(gopheridge, 2) ## Formal class 'SoilProfileCollection' [package "aqp"] with 8 slots ## ..@ idcol : chr "peiid" ## ..@ hzidcol : chr "phiid" ## ..@ depthcols : chr [1:2] "hzdept" "hzdepb" ## ..@ metadata :List of 6 ## ..@ horizons :'data.frame': 317 obs. of 77 variables: ## ..@ site :'data.frame': 52 obs. of 164 variables: ## ..@ diagnostic :'data.frame': 164 obs. of 4 variables: ## ..@ restrictions:'data.frame': 56 obs. of 8 variables: There are many columns in the data.frame objects within a fetchNASIS() SoilProfileCollection. The following guide is part of the soilDB documentation and describes the columns that are returned from a fetchNASIS(from=\"pedons\") call. In the future this guide will be extended to describe component data. fetchNASIS(from=“pedons”) column description guide With siteNames() and horizonNames() we can view the names for eachslot respectively in the gopheridge object. # the fields at the site and horizon levels within the SPC siteNames(gopheridge) ## [1] "peiid" "siteiid" "ecositeid" ## [4] "ecositenm" "ecositecorrdate" "es_classifier" ## [7] "siteecositehistory.classifier" "es_selection_method" "upedonid" ## [10] "siteobsiid" "usiteid" "obsdate" ## [13] "utmzone" "utmeasting" "utmnorthing" ## [16] "horizdatnm" "longstddecimaldegrees" "latstddecimaldegrees" ## [19] "gpspositionalerror" "describer" "descname" ## [22] "pedonpurpose" "pedontype" "pedlabsampnum" ## [25] "labdatadescflag" "tsectstopnum" "tsectinterval" ## [28] "utransectid" "tsectkind" "tsectselmeth" ## [31] "erocl" "elev_field" "slope_field" ## [34] "aspect_field" "elev" "slope" ## [37] "aspect" "ecostatename" "ecostateid" ## [40] "commphasename" "commphaseid" "plantassocnm" ## [43] "earthcovkind1" "earthcovkind2" "bedrckdepth" ## [46] "bedrckkind" "bedrckhardness" "pmgroupname" ## [49] "hillslopeprof" "geomslopeseg" "shapeacross" ## [52] "shapedown" "slopecomplex" "drainagecl" ## [55] "geomposhill" "geomposmntn" "geompostrce" ## [58] "geomposflats" "swaterdepth" "flodfreqcl" ## [61] "floddurcl" "flodmonthbeg" "pondfreqcl" ## [64] "ponddurcl" "pondmonthbeg" "climstaid" ## [67] "climstanm" "climstatype" "ffd" ## [70] "map" "reannualprecip" "airtempa" ## [73] "soiltempa" "airtemps" "soiltemps" ## [76] "airtempw" "soiltempw" "surface_fine_gravel" ## [79] "surface_gravel" "surface_cobbles" "surface_stones" ## [82] "surface_boulders" "surface_channers" "surface_flagstones" ## [85] "surface_parafine_gravel" "surface_paragravel" "surface_paracobbles" ## [88] "surface_parastones" "surface_paraboulders" "surface_parachanners" ## [91] "surface_paraflagstones" "surface_unspecified" "surface_total_frags_pct_nopf" ## [94] "surface_total_frags_pct" "othervegid" "othervegclass" ## [97] "site_state" "site_county" "site_mlra" ## [100] "slope_shape" "surface_fgravel" "classdate" ## [103] "classifier" "classtype" "taxonname" ## [106] "localphase" "taxonkind" "seriesstatus" ## [109] "taxclname" "taxpartsize" "taxorder" ## [112] "taxsuborder" "taxgrtgroup" "taxsubgrp" ## [115] "soiltaxedition" "osdtypelocflag" "taxmoistcl" ## [118] "taxtempregime" "taxfamother" "taxreaction" ## [121] "taxfamhahatmatcl" "psctopdepth" "pscbotdepth" ## [124] "selection_method" "ochric.epipedon" "argillic.horizon" ## [127] "paralithic.contact" "lithic.contact" "umbric.epipedon" ## [130] "cambic.horizon" "mollic.epipedon" "densic.materials" ## [133] "paralithic.materials" "lithologic.discontinuity" "andic.soil.properties" ## [136] "densic.contact" "abrupt.textural.change" "aquic.conditions" ## [139] "duripan" "slickensides" "redox.depletions.with.chroma.2.or.less" ## [142] "redox.concentrations" "reduced.matrix" "histic.epipedon" ## [145] "albic.horizon" "spodic.horizon" "fibric.soil.materials" ## [148] "hemic.soil.materials" "sapric.soil.materials" "volcanic.glass" ## [151] "folistic.epipedon" "strongly.contrasting.particle.size.class" "calcic.horizon" ## [154] "human.transported.material" "albic.materials" "secondary.carbonates" ## [157] "anthropic.epipedon" "landform_string" "landscape_string" ## [160] "microfeature_string" "geomicrorelief_string" "pmkind" ## [163] "pmorigin" "site_id" horizonNames(gopheridge) ## [1] "phiid" "peiid" "pedon_id" "hzname" "dspcomplayerid" ## [6] "hzdept" "hzdepb" "bounddistinct" "boundtopo" "claytotest" ## [11] "silttotest" "sandtotest" "clay" "silt" "sand" ## [16] "fragvoltot" "texture" "texcl" "lieutex" "phfield" ## [21] "effclass" "labsampnum" "rupresblkdry" "rupresblkmst" "rupresblkcem" ## [26] "stickiness" "plasticity" "ksatpedon" "texture_class" "hzID" ## [31] "d_hue" "d_value" "d_chroma" "dry_soil_color" "d_r" ## [36] "d_g" "d_b" "d_sigma" "m_hue" "m_value" ## [41] "m_chroma" "moist_soil_color" "m_r" "m_g" "m_b" ## [46] "m_sigma" "soil_color" "fine_gravel" "gravel" "cobbles" ## [51] "stones" "boulders" "channers" "flagstones" "parafine_gravel" ## [56] "paragravel" "paracobbles" "parastones" "paraboulders" "parachanners" ## [61] "paraflagstones" "unspecified" "total_frags_pct_nopf" "total_frags_pct" "art_fgr" ## [66] "art_gr" "art_cb" "art_st" "art_by" "art_ch" ## [71] "art_fl" "art_unspecified" "total_art_pct" "huartvol_cohesive" "huartvol_penetrable" ## [76] "huartvol_innocuous" "huartvol_persistent" 2.6.4.1 Make profile sketches The plotSPC() or plot() function applied to a SoilProfileCollection object generates sketches based on horizon depths, designations, and colors. The SoilProfileCollection Reference contains many examples demonstrating way in which these sketches can be customized. The fetchNASIS() function automatically converts moist Munsell colors into R-style colors, available in the soil_color horizon level attribute. An approximate color mixture is used when multiple colors per horizon are present. See ?plotSPC for a detailed list of arguments and examples. The Soil Profile Sketches tutorial contains additional examples that demonstrate various ways to customize soil profile sketches. par(mar = c(1, 1, 1, 1)) # omitting pedon IDs and horizon designations plotSPC(gopheridge, print.id = FALSE, name = NA, width = 0.3) title('Pedons from the `gopheridge` sample dataset', line = -0.5) Additional examples / documentation related to soil profile sketches: OSD Dendrogram tutorial Visualization of Horizon Boundaries tutorial SoilProfileCollection Reference Competing Series tutorial Pair-Wise Distances by Generalized Horizon Labels tutorial 2.6.4.2 Pedon Data Checks When you load pedons using the fetchNASIS() function, the following data checks are performed: Presence of multiple map datums. Results reported to the user and the data are not modified. Inconsistent horizon boundaries. Pedons with inconsistent horizon boundaries are not loaded unless rmHzErrors = FALSE. In most cases, this occurs when the bottom depth of a horizon is not the same as the upper depth of the next lower horizon. ## hzname top bot ## 1 A 0 30 ## 2 Bt1 38 56 ## 3 Bt2 56 121 ## 4 Bk 121 135 ## 5 R 135 NA Note the issue above. The bottom depth of the A horizon and the upper depth of the Bt1 horizon should be the same: either 30 or 38 cm. The correct depth needs to be determined and fixed in the database. Missing lower horizon depths. Offending horizons are fixed by replacing the missing bottom depth with the top depth plus 2 cm. In the case of the profile shown above, a bottom depth of 137 cm would be inserted where the depth is missing. Sites missing pedon records. Data without corresponding horizons are not loaded. 2.6.4.3 Find Pedons with Errors If errors in the pedon data are detected when loading data using fetchNASIS(), the following “get” commands can trace them back to the corresponding records in NASIS. These access an option that is stored in a special object called an Environment associated with the soilDB package – they generally contain vectors of IDs. get('sites.missing.pedons', envir = soilDB.env) Returns user site ID for sites missing pedons get('dup.pedon.ids', envir = soilDB.env) Returns user pedon ID for sites with duplicate pedon ID get('bad.pedon.ids', envir = soilDB.env) Returns user pedon ID for pedons with inconsistent horizon depths get('bad.horizons', envir = soilDB.env) Returns a data.frame of horizon-level information for pedons with inconsistent horizon depths get('sites.missing.pedons', envir = soilDB.env) get('dup.pedon.ids', envir = soilDB.env) get('bad.pedon.ids', envir = soilDB.env) get('bad.horizons', envir = soilDB.env) These get() calls access variables stored in the package environment soilDB.env. The variables only exist if there are “problems” / values found by the data checks – and if you fix the errors in the NASIS database and the checks don’t find any errors then nothing will be returned by these functions. 2.6.5 Further Reading / Reference The SoilProfileCollection Reference contains examples based on the sp4 sample dataset. This is a good exercise for the class and reference for future work. The Querying Soil Series Data document contains a more detailed explanation of how the data behind fetchOSD were created and how to interpret its results. The Competing Soil Series document contains a number of examples related to getting OSD morphology using fetchOSD, laboratory data using fetchKSSL, and summary via profile sketches and slice-wise aggregation. The “SPC Plotting Ideas” document outlines some advanced techniques for arranging and annotating soil profile sketches. Several examples pertaining to SDA, soil texture, and soil profile sketches are explored in this Random Walk 001. 2.7 Working with Data in R 2.7.1 Summaries Now that you’ve loaded some data, you can look at additional ways to summarize and interact with data elements. 2.7.1.1 table() and Cross Tabulation The base R table() function is very useful for quick summary operations. It returns a named vector with the amount of each unique level of the a given vector. The numeric vector of “counts” is commonly combined with other functions such as sort(), order(), prop.table(), is.na() to identify abundance, proportions, or missing data (NA). # load required packages library(aqp) library(soilDB) data("gopheridge", package = "soilDB") # for these examples, we use the gopheridge object as our "selected set" pedons <- gopheridge ## you can use fetchNASIS to load your own data, like this: # pedons <- fetchNASIS() # summarize which soil taxa we have loaded table(pedons$taxonname) ## ## Gopheridge ## 52 # sort taxonomic names in descending order sort(table(pedons$taxonname), decreasing = TRUE) ## Gopheridge ## 52 # could do the same thing for taxonomic subgroups table(pedons$taxsubgrp) ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 1 6 44 1 sort(table(pedons$taxsubgrp), decreasing = TRUE) ## ## ultic haploxeralfs typic haploxerepts mollic haploxeralfs ultic haploxerolls ## 44 6 1 1 We can convert counts in the table() result into proportions with prop.table(): prop.table(table(pedons$taxsubgrp)) ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 0.01923077 0.11538462 0.84615385 0.01923077 table() can be used to get counts over multiple dimensions of factor levels. We call this process cross tabulation. For instance, let’s cross tabulate taxonomic subgroup (taxsubgrp) and the particle size family class (taxpartsize) for pedons table(pedons$taxsubgrp, pedons$taxpartsize) ## ## clayey-skeletal coarse-loamy fine fine-loamy loamy-skeletal ## mollic haploxeralfs 0 0 0 0 1 ## typic haploxerepts 1 0 0 0 5 ## ultic haploxeralfs 2 0 1 1 40 ## ultic haploxerolls 0 1 0 0 0 As expected gopheridge the vast majority of pedons are Loamy-skeletal Ultic Haploxeralfs. Since pedons contains site and horizon level data, when cross-tabulating we need to be sure pair a column from the site data with other site-level columns, and the same for horizon-level. This is because all arguments to table() must have the same length. For example, let’s cross-tabulate horizon designation (hzname) with horizon texture class (texcl). We can use the addmargins() function to add the row and column sums to the margins of the table for easier interpretation when there are many rows/columns in the result. addmargins(table(pedons$hzname, pedons$texcl)) ## ## c cl l scl sic sicl sil sl Sum ## 2BCt5 0 1 0 0 0 0 0 0 1 ## 2Bt1 0 0 3 0 0 0 0 0 3 ## 2Bt2 1 2 1 1 0 0 0 0 5 ## 2Bt3 1 3 1 0 0 0 0 0 5 ## 2Bt4 2 0 0 0 0 0 0 0 2 ## 2CBt 0 0 0 1 0 0 0 0 1 ## 2Cr 0 0 0 0 0 0 0 0 0 ## 2Crt 0 0 0 0 0 0 0 0 0 ## 2R 0 0 0 0 0 0 0 0 0 ## A 0 0 33 0 0 0 12 3 48 ## A1 0 0 2 0 0 0 2 0 4 ## A2 0 0 2 0 0 0 2 0 4 ## A3 0 0 1 0 0 0 0 0 1 ## AB 0 0 2 0 0 0 2 0 4 ## BA 0 0 17 0 0 1 0 0 18 ## BC 0 0 4 0 0 0 0 0 4 ## BCt 0 2 2 1 0 0 1 0 6 ## Bt 0 0 1 1 1 0 0 0 3 ## Bt1 0 3 28 1 0 3 5 0 40 ## Bt2 3 15 14 1 1 3 1 0 38 ## Bt3 4 8 6 1 0 1 1 0 21 ## Bt4 1 2 2 0 0 0 0 0 5 ## Bw 0 0 6 0 0 0 1 0 7 ## Bw1 0 0 5 0 0 0 0 0 5 ## Bw2 0 0 5 0 0 0 0 0 5 ## Bw3 0 0 3 0 0 0 0 0 3 ## C 1 0 1 0 0 0 0 0 2 ## C/Brt 0 1 0 0 0 0 0 0 1 ## CBt 0 0 0 1 0 0 0 0 1 ## Cr 0 0 1 0 0 0 0 0 1 ## Crt 0 0 0 0 0 0 0 0 0 ## Ct 0 0 1 0 0 0 0 0 1 ## Oe 0 0 0 0 0 0 0 0 0 ## Oi 0 0 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 ## Sum 13 37 141 8 2 8 27 3 239 2.7.1.2 The dplyr package and “tidy” data principles Tidy Data Principles This is a stub to talk about dplyr some links to tidyverse-centric examples of working with data.frame/tibble and summarizing them. Talk about cool things like rowwise(), across() and translation to high-performance code (dtplyr) and SQL (dbplyr). 2.7.2 Missing Values table(pedons$taxsubgrp, useNA = "ifany") ## ## mollic haploxeralfs typic haploxerepts ultic haploxeralfs ultic haploxerolls ## 1 6 44 1 # is.na(...) table(is.na(pedons$taxsubgrp)) ## ## FALSE ## 52 # is NOT NA !is.na(...) table(!is.na(pedons$taxsubgrp)) ## ## TRUE ## 52 # it can also be applied to horizon level columns in the SPC sort(table(pedons$texture), decreasing=TRUE) ## ## BR L GR-L GRV-L CBV-L SPM GRX-L SIL GRV-CL CBV-CL GR-SIL CBX-L GRX-CL ## 58 36 33 24 18 14 12 12 9 8 7 6 5 ## CBX-CL GRV-SIL CL GRV-SCL GRX-C MPM SL CB-L GR-CL GRX-SCL PGR-C PGRX-L SICL ## 4 4 3 3 3 3 3 2 2 2 2 2 2 ## STV-CL STV-L STX-C STX-L C CB-C CB-CL CB-SCL CB-SIL CBV-SIL CBX-SCL CN-L CN-SICL ## 2 2 2 2 1 1 1 1 1 1 1 1 1 ## CNX-L CNX-SICL FLV-L GR-C GR-SIC GRV-SICL GRX-SIC GRX-SIL PCB-SICL PCBV-SICL PCN-C PCNX-CL PGRV-C ## 1 1 1 1 1 1 1 1 1 1 1 1 1 ## PGRV-CL PGRX-SCL PGRX-SIL ST-L STV-C STX-CL STX-SICL ## 1 1 1 1 1 1 1 2.7.3 Logical Operators Logical operators act on vectors for the purposes of comparison. == “EQUAL TO” != “NOT EQUAL TO” < LESS than LESS than or equal to <= > GREATER than GREATER than or equal to >= %in% Equivalent to IN () in SQL; same logic as match() but returns a boolean, not integer Example: pedons$taxpartsize %in% c('loamy-skeletal', 'sandy-skeletal') Returns a vector of TRUE/FALSE equal in length to left-hand side & logical AND | logical OR 2.7.4 Pattern Matching The following examples use the grep() function to pattern match within the data, create an index of the SoilProfileCollection for records that match the specified pattern within that column, and then use that index to filter to specific sites and their corresponding profiles. Patterns are specified using regular expression (REGEX) syntax. This process can be applied to many different columns in the SPC based on how you need to filter the data. This example pattern matches on the tax_subgroup column, but another useful application might be to pattern match on geomorphology or parent material. Say we want to see what the variation of particle size classes are within a specific subgroup? We can use grep() to create a row index, then apply that index to the SoilProfileCollection. # create a numeric index for pedons with taxsubgroup containing 'typic' idx <- grep('typic', pedons$taxsubgrp) idx ## [1] 11 12 13 14 26 50 # use square bracket notation to subset 'typic' soils in `subset1` object subset1 <- pedons[idx,] # or use the index directly to summarize taxpartsize for 'typic' soils sort(table(pedons$taxpartsize[idx]), decreasing = TRUE) ## ## loamy-skeletal clayey-skeletal ## 5 1 Note: grep() below has an invert argument (default FALSE). This option is very useful for excluding the results of the pattern matching process by inverting whatever the result is. grepl() is the logical version of grep(), so you can invert it using the logical NOT operator: !. Another method is to create an index using which() function. which() takes any logical vector (or expression), and it returns the indices (positions) where that expression returns TRUE. The use of which becomes more important when there are missing values (NA) in an expression. Do a graphical check to see the “typic” profiles are selected. Plot them in R using the SoilProfileCollection “plot” method (e.g., specialized version of the generic plot() function). # adjust margins par(mar=c(1,0,0,1)) # plot the first 10 profiles of subset1 plot(subset1[1:10, ], label = 'taxsubgrp', max.depth = 60) title('Pedons with the word "typic" at subgroup-level of Soil Taxonomy', line=-2) For more information on using regular expressions in grep() for pattern matching operations, see: Regular-expression-syntax. Quick check: Compare or run these commands with some code, and review the documentation, to answer the questions. True or False: grepl() returns a numeric vector True or False: which(grepl('typic', pedons$taxsubgrp)) is the same as grep('typic', pedons$taxsubgrp). 2.7.4.1 REGEX Quick Start . One character, any character * Zero-or-more Quantifier (of previous token) + One-or-more Quantifier (of previous token) {n} quantifier where n is the the number of a match “repeats” (of previous token) [A-Z!] ONE capital letter, or an exclamation mark [0-9]{2} TWO numbers (using { quantifier) | is equivalent to OR: Example: grep('loamy|sandy', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “loamy OR sandy” ^ Anchor to beginning of string / line: Example: grep('^sandy', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “STARTS WITH sandy” $ Anchor to end of string / line: Example: grep('skeletal$', c(\"loamy-skeletal\",\"sandy\",\"sandy-skeletal\")) “ENDS WITH skeletal” \\\\b Anchor to word boundary: Example: grep('\\\\bmesic', c(\"mesic\",\"thermic\",\"isomesic\")) “WORD STARTS WITH mesic” (e.g. not “isomesic”) 2.7.4.2 Resources for Regular Expressions https://regex101.com/ & https://regexr.com/ - Online regular expression testers http://www.regular-expressions.info/quickstart.html - One-page regular expression quick start guide 2.7.5 Filtering A variety of methods are available to subset or “filter” R data objects, from a simple data.frame or vector, to something more complex like a Spatial object or a SoilProfileCollection. You can index many R objects using numeric or logical expressions as above. There are also methods that make this process a little easier. The base R method for this is subset() and it works on data.frame objects. It is nice because you can specify column names without explicitly referencing the data set, since subset uses non-standard evaluation of expressions passed as arguments. 2.7.5.1 Filtering with aqp::subset() We use the SoilProfileCollection subset method, where we first specify a data (pedons) object then we can write expressions for the columns that exist in that object. Here, we combine two logical expressions to find taxsubgrp containing \"alfs\" (Alfisols) with obsdate before January 1st, 2010. subset2 <- subset(pedons, grepl("alfs", taxsubgrp) & obsdate < as.POSIXlt("2010-01-01")) # check taxonomic range of particle size classes in the data # overwhelmingly these are described as loamy-skeletal ultic haploxeralfs sort(table(subset2$taxsubgrp), decreasing = TRUE) ## ## ultic haploxeralfs mollic haploxeralfs ## 28 1 sort(table(subset2$taxpartsize), decreasing = TRUE) ## ## loamy-skeletal clayey-skeletal fine fine-loamy ## 25 2 1 1 # check year described and taxpartsize table(subset2$taxpartsize, substr(subset2$obsdate, 0, 4)) ## ## 2007 2008 2009 ## clayey-skeletal 1 0 1 ## fine 1 0 0 ## fine-loamy 1 0 0 ## loamy-skeletal 19 1 5 # a double equal sign '==' is used for exact character or numeric criteria subset3 <- subset(subset2, taxpartsize == 'loamy-skeletal') table(subset3$taxpartsize) ## ## loamy-skeletal ## 25 par(mar = c(0, 0, 2, 1)) plotSPC(subset3[1:12, ], print.id = FALSE) title('Loamy-skeletal Ultic Haploxeralfs') 2.7.6 Dates and Times Dates and times use special object types in R. The Unix time, also known as “Posix time,” is a system for describing a point in time. Unix epoch is a whole number value that is the number of seconds elapsed since the 00:00:00 UTC on 1 January 1970 minus leap seconds. We can use logical comparison operators on dates and times if their string representation such as \"01/01/1970\" is converted to a common base R UNIX time representation known as POSIXlt or POSIXct. This conversion accounts for important things such as timezone using your computer’s locale–which is important to keep in mind. When converting to POSIX time several unambiguous (year-month-day) date time formats can be detected. For instance, if you want to convert a date in the common month-day-year format, you need to specify the format argument: as.POSIXct(24*60*60, origin = "1970-01-01", tz = "UTC") ## [1] "1970-01-02 UTC" By default the timezone will match your current timezone. Dates without times are treated as being at midnight UTC. You can customize the timezone with tz argument: as.POSIXlt("01/01/1970", tz = "UTC", format = "%m/%d/%Y") ## [1] "1970-01-01 UTC" POSIXlt and POSIXct objects can be formatted with the format() function. strptime() can be used to parse character vectors into date/times. You use as.POSIXlt() with character input, and as.POSIXct() with numeric input. R also has the Date class which can be used for formatting calendar dates. You can convert POSIXlt/POSIXct objects to Date with as.Date() 2.8 Exercise 2: Generalized Horizons with Loafercreek Here we will introduce the concept of using regular expressions to apply “Generalized Horizon Labels” based on the field soil description horizon designations. This demonstrates one way of grouping horizon data for determining the Range in Characteristics of layers within a Soil Series or a SSURGO component. Generalized Horizon Labels with Loafercreek For the exercise during class, we will give you some time to read over the materials and apply the process to the sample loafercreek data. The code to apply the process to loafercreek is given. Then we ask that you apply a similar process to your own data, adjusting your generalized horizon patterns as needed for your local soils. This may take more time than we have during class itself, so you should follow up as needed with your mentor to complete. Chapter 3 Exploratory Data Analysis will get deeper into some of the topics that are referenced in the loafercreek code, such as summary statistics on grouped data. You will send a table and profile plots to your mentor when you are done. 2.9 fetchNASIS() data checks fetchNASIS() does a lot of the hard work for you by pulling out a variety of child tables and joining them to site/horizon tables This results in a SoilProfileCollection object that has many of the NASIS data columns. In order to do this, a variety of processes are run. Output is generated that you should look at. We will walk through the most common parts. Mixing of multiple colors (for “default” moist and dry colors for many:1 case) mixing dry colors ... [33 of 4108 horizons] mixing moist colors ... [60 of 4532 horizons] Quality control and limited “filling” of fragments, horizon depth data, site data, tables replacing missing lower horizon depths with top depth + 1cm ... [19 horizons] -> QC: horizon errors detected: Use `get('bad.pedon.ids', envir=soilDB.env)` for pedon record IDs (peiid) Use `get('bad.horizons', envir=soilDB.env)` for horizon designations -> QC: pedons missing bottom hz depths: Use `get('missing.bottom.depths', envir=soilDB.env)` for pedon record IDs (peiid) Notes about default settings and handling of NULL (missing data elements or records) NOTE: some records are missing surface fragment cover NOTE: some records are missing rock fragment volume 2.9.1 Inspecting Results Here we inspect occurrence of andic soil properties in MT647. We will download this “selected set” from the course website as an .rda file to save you the effort of crafting your selected set just for this example. example.data.dir <- "C:/workspace2" example.data.path <- file.path(example.data.dir, "mt647.rda") if (!dir.exists(example.data.dir)) dir.create(example.data.dir, recursive = TRUE) download.file("https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/book/02/mt647.rda", destfile = example.data.path) Downloading and installing the above .rda is equivalent to doing NASIS query “_PedonPC_Plus_DataDump_select” (MLRA04 Bozeman) for to fill your selected set for User Site ID: %MT647%, NASIS Site: SSRO_Northwest, NASIS Group: NW-MIS Point Data, followed by mt647 <- fetchNASIS(). 2.9.1.1 Load Example Data To load the sample object data into R, just use load() and the path to the .rda file (example.data.path or \"C:/workspace2/mt647.rda\") # load the sample data example.data.dir <- "C:/workspace2" load(file.path(example.data.dir, "mt647.rda")) length(mt647) ## [1] 481 table(site(mt647)$andic.soil.properties, useNA = "ifany") ## ## FALSE TRUE <NA> ## 2 83 396 # get just the profiles with andic.soil.properties == TRUE subset(mt647, andic.soil.properties) ## SoilProfileCollection with 83 profiles and 446 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 20 - 305 cm ## ## ----- Horizons (6 / 446 rows | 10 / 77 columns) ----- ## peiid phiid hzdept hzdepb hzname texture pedon_id dspcomplayerid bounddistinct boundtopo ## 828140 4005861 0 2 Oe <NA> P23-134 <NA> <NA> <NA> ## 828140 4005863 2 13 E CBV-L P23-134 <NA> clear smooth ## 828140 4005859 13 23 Bs1 CBV-L P23-134 <NA> clear smooth ## 828140 4005862 23 33 Bs2 CBV-L P23-134 <NA> gradual smooth ## 828140 4005864 33 69 BC GRX-FSL P23-134 <NA> gradual smooth ## 828140 4005860 69 152 2C GRX-FSL P23-134 <NA> <NA> <NA> ## [... more horizons ...] ## ## ----- Sites (6 / 83 rows | 10 / 132 columns) ----- ## siteiid peiid ecositeid ecositenm ecositecorrdate es_classifier siteecositehistory.classifier es_selection_method upedonid ## 845415 828140 <NA> <NA> <NA> <NA> <NA> <NA> P23-134 ## 845429 828152 <NA> <NA> <NA> <NA> <NA> <NA> P92-052 ## 845430 828153 <NA> <NA> <NA> <NA> <NA> <NA> P92-046 ## 845432 828155 <NA> <NA> <NA> <NA> <NA> <NA> P93-053 ## 845434 828157 <NA> <NA> <NA> <NA> <NA> <NA> P91-103 ## 845451 828176 <NA> <NA> <NA> <NA> <NA> <NA> P89-011 ## siteobsiid ## 821442 ## 821456 ## 821457 ## 821459 ## 821461 ## 821478 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] We can compare this to what we see in the NASIS Pedon Diagnostic Features table: Any profiles that have have logic errors detected are stored in soilDB.env bad.pedon.ids variable after you run fetchNASIS. If this variable does not exist either you have not run fetchNASIS() in the current session or there are no errors # these are the troublesome user pedon IDs get('bad.pedon.ids', envir = soilDB.env) ## [1] "P93-037" "P90-008" "P90-004" "P90-009" "P93-058" "P93-059" "P90-025" "P90-002" "P90-012" "P92-001" "P92-085" "P90-019" "P90-010" ## [14] "P90-015" "P91-094" "P92-029" "P92-076" "P93-026" "P93-035" "P93-063" "P93-064" "P93-041" "P93-043" "P93-044" "P93-083" "P93-112" ## [27] "P93-113" "P93-124" "P93-001" "P96-007" "P91-025" "P93-078" "P92-044" "P91-112" "P92-038" "P90-018" "P93-057" "P93-084" "P90-016" ## [40] "P92-063" "P92-048" "P93-052" "F01-230" "F95-420" "F95-114" "F96-205" "P75-006" "P91-105" "P91-059" # by default, rmHzErrors removes the "bad" illogical pedons any(mt647$upedonid %in% get('bad.pedon.ids', envir=soilDB.env)) ## [1] FALSE When fetchNASIS(..., rmHzErrors = TRUE) (the default), any horizons that were omitted from the SoilProfileCollection will be stored in the bad.horizons variable in the soilDB.env environment. head(get('bad.horizons', envir=soilDB.env)) ## peiid phiid upedonid hzname hzdept hzdepb ## 67 868038 4270406 F01-230 E NA NA ## 68 868038 4270407 F01-230 Bw NA NA ## 95 868072 4270514 F95-114 <NA> NA NA ## 99 868048 4270437 F95-420 <NA> NA NA ## 111 868074 4270519 F96-205 B NA NA ## 112 868074 4270521 F96-205 C NA NA 2.9.1.2 Logic Checks for the SoilProfileCollection The aqp package has several functions that do logic checks on SoilProfileCollection objects. The main method that does this in aqp is checkHzDepthLogic() which returns a data.frame of results of running four logic tests on the horizon data from each profile. Checks for: bottom depths less than top depth / bad top depth order (\"depthLogic\") bottom depths equal to top depth (\"sameDepth\") overlaps and gaps (\"overlapOrGap\") missing depths (\"missingDepth\") logic_tests <- checkHzDepthLogic(mt647err) # look at first few (look OK; valid == TRUE) head(logic_tests) ## peiid valid depthLogic sameDepth missingDepth overlapOrGap ## 1 828138 TRUE FALSE FALSE FALSE FALSE ## 2 828139 TRUE FALSE FALSE FALSE FALSE ## 3 828140 TRUE FALSE FALSE FALSE FALSE ## 4 828141 TRUE FALSE FALSE FALSE FALSE ## 5 828142 TRUE FALSE FALSE FALSE FALSE ## 6 828143 TRUE FALSE FALSE FALSE FALSE # these all have overlapOrGap errors head(logic_tests[!logic_tests$valid, ]) ## peiid valid depthLogic sameDepth missingDepth overlapOrGap ## 11 828148 FALSE FALSE FALSE FALSE TRUE ## 23 828160 FALSE FALSE FALSE FALSE TRUE ## 25 828162 FALSE FALSE FALSE FALSE TRUE ## 34 828171 FALSE FALSE FALSE FALSE TRUE ## 35 828172 FALSE FALSE FALSE FALSE TRUE ## 36 828173 FALSE FALSE FALSE FALSE TRUE # join the logic test data into the site table site(mt647err) <- logic_tests Use the $valid vector in result to filter out profiles with missing depths (logic_tests$valid == FALSE) bad.profiles <- subset(mt647err, !valid) bad.profiles ## SoilProfileCollection with 49 profiles and 338 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 15 - 152 cm ## ## ----- Horizons (6 / 338 rows | 10 / 77 columns) ----- ## peiid phiid hzdept hzdepb hzname texture pedon_id dspcomplayerid bounddistinct boundtopo ## 828148 4005908 0 3 Oe <NA> P93-037 <NA> <NA> <NA> ## 828148 4005907 3 5 Oi <NA> P93-037 <NA> <NA> <NA> ## 828148 4005905 5 15 E CB-FSL P93-037 <NA> clear smooth ## 828148 4005911 15 23 Bs CB-SIL P93-037 <NA> abrupt smooth ## 828148 4005909 23 25 2E CBV-FSL P93-037 <NA> clear smooth ## 828148 4005910 25 58 2B CBV-FSL P93-037 <NA> gradual smooth ## [... more horizons ...] ## ## ----- Sites (6 / 49 rows | 10 / 137 columns) ----- ## peiid siteiid ecositeid ecositenm ecositecorrdate es_classifier siteecositehistory.classifier es_selection_method upedonid ## 828148 845423 <NA> <NA> <NA> <NA> <NA> <NA> P93-037 ## 828160 845435 <NA> <NA> <NA> <NA> <NA> <NA> P90-008 ## 828162 845437 <NA> <NA> <NA> <NA> <NA> <NA> P90-004 ## 828171 845446 <NA> <NA> <NA> <NA> <NA> <NA> P90-009 ## 828172 845447 <NA> <NA> <NA> <NA> <NA> <NA> P93-058 ## 828173 845448 <NA> <NA> <NA> <NA> <NA> <NA> P93-059 ## siteobsiid ## 821450 ## 821462 ## 821464 ## 821473 ## 821474 ## 821475 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] And also filter out the valid ones (logic_tests$valid == TRUE) good.profiles <- subset(mt647err, logic_tests$valid) good.profiles ## SoilProfileCollection with 481 profiles and 2536 horizons ## profile ID: peiid | horizon ID: phiid ## Depth range: 14 - 1552 cm ## ## ----- Horizons (6 / 2536 rows | 10 / 77 columns) ----- ## peiid phiid hzdept hzdepb hzname texture pedon_id dspcomplayerid bounddistinct boundtopo ## 828138 4005848 0 5 O <NA> P91-043 <NA> <NA> <NA> ## 828138 4005852 5 18 E GR-L P91-043 <NA> clear smooth ## 828138 4005850 18 38 Bw1 GRV-L P91-043 <NA> gradual wavy ## 828138 4005849 38 51 Bw2 CBV-FSL P91-043 <NA> gradual wavy ## 828138 4005853 51 71 BC CBV-SL P91-043 <NA> clear wavy ## 828138 4005851 71 81 R <NA> P91-043 <NA> <NA> <NA> ## [... more horizons ...] ## ## ----- Sites (6 / 481 rows | 10 / 137 columns) ----- ## peiid siteiid ecositeid ecositenm ecositecorrdate es_classifier siteecositehistory.classifier es_selection_method upedonid ## 828138 845413 <NA> <NA> <NA> <NA> <NA> <NA> P91-043 ## 828139 845414 <NA> <NA> <NA> <NA> <NA> <NA> P91-029 ## 828140 845415 <NA> <NA> <NA> <NA> <NA> <NA> P23-134 ## 828141 845416 <NA> <NA> <NA> <NA> <NA> <NA> P93-025 ## 828142 845417 <NA> <NA> <NA> <NA> <NA> <NA> P93-075 ## 828143 845418 <NA> <NA> <NA> <NA> <NA> <NA> P93-074 ## siteobsiid ## 821440 ## 821441 ## 821442 ## 821443 ## 821444 ## 821445 ## [... more sites ...] ## ## Spatial Data: ## [EMPTY] 2.10 Extended Data Functions Additional data related to both site and horizon information can be fetched using the get_extended_data_from_NASIS() function. This function returns a named list() with several tables that fetchNASIS draws from–in addition to the typical Site/Pedon/Component/Horizon tables. There are a variety of calculated fields that are included in the default fetchNASIS result based on the extended data–you can make use of these to simplify queries and aggregations for a variety of analyses… And then follow up with more detailed data as needed. 2.10.1 Elements of get_extended_data_from_NASIS() Ecological Site History (\"ecositehistory\") Diagnostic Features (\"diagnostic\") Diagnostic Feature TRUE/FALSE Summary (\"diagHzBoolean\") Restrictions (\"restriction\") Fragment and Texture Summaries Horizon Fragments (\"frag_summary\") Horizon Artifacts (\"art_summary\") Surface Fragments (\"surf_frag_summary\") Texture Class Modifiers (\"texmodifier\") Geomorphic Table Summaries (\"geomorph\") Parent Material Summaries (\"pm\") Taxonomic History (\"taxhistory\") Site Text Notes w/ Photo links(\"photo\") Horizon Structure (\"struct\") Horizon Designation (\"hzdesgn\") 2.10.2 Load Example Data Below is a summary of additional information that can be readily brought into R from your NASIS selected set via the get_extended_data_from_NASIS() function. To download the sample 2015MT663% data from the course page with R: example.data.dir <- "C:/workspace2" example.data.path <- file.path(example.data.dir, "mt663.rda") if (!dir.exists(example.data.dir)) dir.create(example.data.dir, recursive = TRUE) download.file("https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/book/02/mt663.rda", destfile = example.data.path) Before continuing, imagine opening the NASIS client, populating your selected set with 2015MT663% using a query like “NSSC Pangaea – POINT-Pedon/Site by User Pedon ID” Load the data like we did above. # load the sample data example.data.dir <- "C:/workspace2" load(file.path(example.data.dir, "mt663.rda")) ## fetch extended site and horizon data from local NASIS # mt663ext <- get_extended_data_from_NASIS_db() We could use the get_extended_data_from_NASIS_db() function if 2015MT663% or other data were in the selected set, but we will use the mt663ext data we loaded from the .rda file. The column names are the names of variables that you could join to your site or horizon data by various means. Generally these variable names, with a few exceptions, mirror the NASIS 7 data model names. # site and pedon related extended data # list all dataframes in the extended data str(mt663ext, 1) ## List of 14 ## $ ecositehistory:'data.frame': 0 obs. of 7 variables: ## $ siteaoverlap :'data.frame': 127 obs. of 5 variables: ## $ diagnostic :'data.frame': 292 obs. of 4 variables: ## $ diagHzBoolean :'data.frame': 115 obs. of 20 variables: ## $ restriction :'data.frame': 11 obs. of 8 variables: ## $ frag_summary :'data.frame': 561 obs. of 18 variables: ## $ art_summary :'data.frame': 561 obs. of 14 variables: ## $ texmodifier :'data.frame': 622 obs. of 5 variables: ## $ geomorph :'data.frame': 241 obs. of 9 variables: ## $ taxhistory :'data.frame': 115 obs. of 23 variables: ## $ photo :'data.frame': 793 obs. of 4 variables: ## $ pm :'data.frame': 179 obs. of 9 variables: ## $ struct :'data.frame': 444 obs. of 6 variables: ## $ hzdesgn :'data.frame': 561 obs. of 19 variables: # vegetation data summary colnames(mt663ext$ecositehistory) ## [1] "siteiid" "ecositeid" "ecositenm" "ecositecorrdate" ## [5] "es_classifier" "siteecositehistory.classifier" "es_selection_method" # diagnostic features colnames(mt663ext$diagnostic) ## [1] "peiid" "featkind" "featdept" "featdepb" # surface rock fragments colnames(mt663ext$surf_frag_summary) ## NULL # geomorphic description colnames(mt663ext$geomorph) ## [1] "peiid" "geomicrorelief" "geommicelev" "geomfmod" "geomfname" "geomfeatid" "existsonfeat" ## [8] "geomfiidref" "geomftname" # taxonomic history data colnames(mt663ext$taxhistory) ## [1] "peiid" "classdate" "classifier" "classtype" "taxonname" "localphase" ## [7] "taxonkind" "seriesstatus" "taxclname" "taxpartsize" "taxorder" "taxsuborder" ## [13] "taxgrtgroup" "taxsubgrp" "soiltaxedition" "osdtypelocflag" "taxmoistcl" "taxtempregime" ## [19] "taxfamother" "taxreaction" "taxfamhahatmatcl" "psctopdepth" "pscbotdepth" # linked photo stored in site textnotes colnames(mt663ext$photo) ## [1] "siteiid" "recdate" "textcat" "imagepath" # site parent materials colnames(mt663ext$pm) ## [1] "siteiid" "seqnum" "pmorder" "pmdept" "pmdepb" "pmmodifier" "pmgenmod" "pmkind" "pmorigin" ### ### horizon related extended data ### # rock fragments colnames(mt663ext$frag_summary) ## [1] "phiid" "fine_gravel" "gravel" "cobbles" "stones" ## [6] "boulders" "channers" "flagstones" "parafine_gravel" "paragravel" ## [11] "paracobbles" "parastones" "paraboulders" "parachanners" "paraflagstones" ## [16] "unspecified" "total_frags_pct_nopf" "total_frags_pct" # soil texture modifers colnames(mt663ext$texmodifier) ## [1] "peiid" "phiid" "phtiid" "seqnum" "texmod" # soil structure data colnames(mt663ext$struct) ## [1] "phiid" "structgrade" "structsize" "structtype" "structid" "structpartsto" 2.10.3 Visualizing Common Landforms The following code generates a simple graphical summary of the 10 most commonly occurring \"landform_string\" (a calculated field in fetchNASIS()) to inspect which are the most common. # load data from a NASIS selected set (or sample object) pedons <- mt663 # create 'lf' object of landform factors sorted in descending order lf <- sort(table(pedons$landform_string), decreasing = TRUE) # plot top 10 or length, whichever is shorter Hmisc::dotchart2(lf[1:pmin(10, length(lf))], col = 'black', xlim = c(0, max(lf)), cex.labels = 0.75) For a challenge and to further inspect your own data try the above code with some other summaries of geomorphic data produced by fetchNASIS(). You can swap landform_string for: landscape_string (landscape), hillslopeprof (2D), geomposmntn, geomposhill, geompostrce, geomposflats (3D), slope_shape, shapeacross, shapedown (slope shape across/down), microfeature_string (microfeature), or geomicrorelief_string (site observation microrelief). 2.10.4 Diagnostic Features 2.10.4.1 Boolean Diagnostic Features in fetchNASIS If diagnostic features are populated in the Pedon Diagnostic Features table in NASIS, then Boolean (TRUE or FALSE) fields are created for each diagnostic feature type found in the data brought in by fetchNASIS. These fields can be used to model presence / absence of a diagnostic soil feature by extracting the site data from the SoilProfileCollection with site(). 2.10.4.2 Thickness from Diagnostic Features Table The following is an example of how you could use the diagnostic features (if populated!) from the extended data to determine the thickness of a diagnostic feature of interest. # get diagnostic features associated with pedons loaded from selected set d <- diagnostic_hz(mt663) # summary of the diagnostic features in your data! unique(d$featkind) ## [1] "ochric epipedon" "cambic horizon" "lithic contact" "mollic epipedon" ## [5] "argillic horizon" "redox concentrations" "andic soil properties" "secondary carbonates" ## [9] "sapric soil materials" "aquic conditions" "reduced matrix" "albic horizon" ## [13] "spodic horizon" "glossic horizon" "spodic materials" "lithologic discontinuity" ## [17] "densic materials" "umbric epipedon" "albic materials" NA # tabulate sort(table(droplevels(factor(d$featkind))), decreasing = TRUE) ## ## ochric epipedon cambic horizon argillic horizon mollic epipedon andic soil properties ## 61 54 43 42 30 ## lithic contact secondary carbonates umbric epipedon albic horizon spodic horizon ## 20 7 7 6 4 ## glossic horizon reduced matrix sapric soil materials lithologic discontinuity albic materials ## 3 3 3 2 1 ## aquic conditions densic materials redox concentrations spodic materials ## 1 1 1 1 # subset argillic horizons d <- d[d$featkind == 'argillic horizon', ] # create a new column and subtract the upper from the lower depth d$argillic_thickness_cm <- d$featdepb - d$featdept # create another new column with the upper depth to the diagnostic feature d$depth_to_argillic_cm <- d$featdept # omit NA values d <- na.omit(d) # subset to pedon records IDs and calculated thickness d <- d[, c('peiid', 'argillic_thickness_cm', 'depth_to_argillic_cm')] head(d) ## peiid argillic_thickness_cm depth_to_argillic_cm ## 7 1092610 56 30 ## 24 1092617 38 34 ## 26 1092618 29 23 ## 28 1092619 38 32 ## 30 1092620 29 24 ## 33 1092621 23 19 # left-join with existing site data site(mt663) <- d # plot as histogram par(mar = c(4.5, 4.5, 1, 1)) # note additional arguments to adjust figure labels hist( mt663$argillic_thickness_cm, xlab = 'Thickness of argillic (cm)', main = '', las = 1 ) hist( mt663$depth_to_argillic_cm, xlab = 'Depth to argillic top depth (cm)', main = '', las = 1 ) Quick check: What can you do with the boolean diagnostic feature data stored in the site table of a fetchNASIS SoilProfileCollection? 2.10.4.3 Diagnostic Feature Diagrams # work up diagnostic plot based on the mt663 dataset loaded above library(aqp) library(soilDB) library(sharpshootR) # can limit which diagnostic features to show by setting 'v' manually v <- c('ochric.epipedon', 'mollic.epipedon', 'andic.soil.properties', 'argillic.horizon', 'cambic.horizon', 'lithic.contact') # the default concatenated landform_string may have multiple levels # depending on how the geomorphic tables were populated # these are concatenated using the ampersand (&) character # so take the first string split using ampersand as a delimiter mt663$first_landform <- sapply(strsplit(mt663$landform_string, "&"), function(x) x[[1]]) # plot with diagnostic features ordered according to co-occurrence # v: site-level attributes to consider # k: number of clusters to identify diagnosticPropertyPlot( mt663[1:30, ], v = v, k = 5, grid.label = 'usiteid', dend.label = 'first_landform', sort.vars = TRUE ) 2.11 Exercise 3: Diagnostic Horizons in Your Own Data Use the following script to generate a diagnostic-feature diagram for the pedon data you’ve loaded from your NASIS selected set. Alternately, you may use the MT663 data from the example above, just substitute the object mt663 for f. You can select a subset of desired diagnostic properties or use all diagnostic feature columns. library(aqp) library(soilDB) library(sharpshootR) # Load data f <- fetchNASIS(from = 'pedons') # ... May need to use subset() to reduce the number of pedons! # get all diagnostic feature columns from site data # by pattern matching on '[.]' in the site attribute names # this is not a generic rule, but works here idx <- grep('[.]', siteNames(f)) v <- siteNames(f)[idx] # inspect v v # insert diagnostics of interest from the possible list in 'v' v <- c('ochric.epipedon', 'cambic.horizon', 'argillic.horizon', 'paralithic.contact', 'lithic.contact') # generate diagnostic property diagram diagnosticPropertyPlot( f, v = v, k = 5, grid.label = 'usiteid', dend.label = 'taxonname' ) For more information on generating diagnostic feature diagrams, see the following tutorial: Diagnostic Feature Property Plots. Questions: Use the results of site(), horizons(), diagnostic_hz() to answer the following questions about your own data. These functions return data.frame objects from a SoilProfileCollection derived from your local NASIS data. How many pedons do you have in your selected set? Check the number of rows in the site portion of the SoilProfileCollection with nrow(), or use the method length() on the collection. How many diagnostic features do you have for those pedons? How many different \"featkind\"? You can calculate the number of unique values with with length() and unique() Interpret: What diagnostic features did you choose to plot? Did you notice any patterns in the diagnostic features that tend to occur together? Send your mentor a copy of your results and the commands you used. 2.12 Custom Queries to Local NASIS Database fetchNASIS() and related convenience functions are wrappers around commonly used chunks of SQL (Structured Query Language). Queries of the NASIS local database can be written in T-SQL which is the dialect of SQL used to communicate with Microsoft SQL Server. This is the connection that you set for the pre-course. To create a DBIConnection object that can access the NASIS local database, use dbConnectNASIS() or simply NASIS(). This will look for an ODBC connection of the name \"nasis_local\" and will authenticate with the read-only credentials. You can also pass an existing DBIConnection or path to SQLite file as the dsn argument to connect to an alternate source. The default driver type used for NASIS connections is OdbcConnection from the odbc package. To query or execute SQL commands on a connection you created, you can use dbGetQuery(connection, query), where connection is your DBIConnection object and query is the SQL to execute. The soilDB package also includes a helper function dbQueryNASIS(), which functions just like dbGetQuery() except the default is to close the connection after returning the result. This can be convenient for interactive use or cases where a function needs to only execute a single query, as it will prevent you from leaving connections open accidentally. 2.12.1 Example: Site Soil Temperature Data from CA792 (Sequoia-Kings Canyon National Park) The following example will return all records in your selected set sitesoiltemp table, along with a couple of fields from the site, siteobs, and pedon tables. This is a convenient way to collect all of the field-based soil temperature data associated with the pedons in your selected set for further analysis. You can use the CA792 (Sequoia-Kings Canyon National Park) pedons as an example. Use a query that searches user pedon ID for the following pattern %CA792% to download and populate a selected set in the NASIS client. library(soilDB) # write query as a character string q <- "SELECT siteiid as siteiid, peiid, usiteid as upedonid, obsdate, soitemp, soitempdep FROM site_View_1 INNER JOIN siteobs_View_1 ON site_View_1.siteiid = siteobs_View_1.siteiidref LEFT OUTER JOIN sitesoiltemp_View_1 ON siteobs_View_1.siteobsiid = sitesoiltemp_View_1.siteobsiidref LEFT OUTER JOIN pedon_View_1 ON siteobs_View_1.siteobsiid = pedon_View_1.siteobsiidref ORDER BY obsdate, siteiid;" # setup connection to local NASIS channel <- NASIS() # exec query d <- dbQueryNASIS(channel, q) The functions dbConnectNASIS() (alias NASIS()) and dbQueryNASIS() allow you to create a connection to the NASIS local database and send queries to that connection, respectively. By default, dbQueryNASIS() will close your connection after completing the query; you can change this by setting close=FALSE. # check results str(d) # remove records missing values d <- na.omit(d) # tabulate unique soil depths table(d$soitempdep) # extract doy of year d$doy <- as.integer(format(d$obsdate, "%j")) # when where measurements collected? hist( d$doy, xlim = c(1, 366), las = 1, main = 'Soil Temperature Measurements', xlab = 'Day of Year' ) # soil temperature by day of year plot( soitemp ~ doy, data = d, main = 'Soil Temperature Measurements (CA792)\\nNASIS "Site Soil Temperature" table', type = 'p', pch = 21, bg = 'royalblue', xlim = c(1, 366), ylim = c(-1, 26), xlab = 'Day of Year', ylab = 'Soil Temperature at 50cm (deg C)', las = 1 ) # vernal equinox, summer solstice, autumnal equinox, winter solstice x <- as.Date(c('2022-03-20', '2022-06-21', '2022-09-23', '2022-12-21')) # convert dates -> Julian date, or day-of-year doy <- as.integer(format(x, "%j")) # add vertical lines abline(v = doy, lty = 3, col = grey(0.45)) # annotate # pos argument: left-center offset text( x = doy, y = -1, labels = c('vernal equinox', 'summer solstice', 'autumnal equinox', 'winter solstice'), pos = 2, cex = 0.75, font = 3 ) # box/whisker plot showing distribution of day-of-year # when measurements (pedon descriptions) were collected boxplot(d$doy, at = 26, horizontal = TRUE, add = TRUE, lty = 1, width = 1, col = 'white', axes = FALSE) + "],["eda.html", "Chapter 3 Exploratory Data Analysis 3.1 Objectives (Exploratory Data Analysis) 3.2 Statistics 3.3 Data Inspection 3.4 Exercise 1: fetch and inspect 3.5 Descriptive Statistics 3.6 Exercise 2: Compute Descriptive Statistics 3.7 Graphical Methods 3.8 Exercise 3: Graphical Methods 3.9 Transformations 3.10 The Shiny Package 3.11 soilReports 3.12 Additional Reading (Exploratory Data Analysis)", " Chapter 3 Exploratory Data Analysis Before embarking on developing statistical models and generating predictions, it is essential to understand your data. This is typically done using conventional numerical and graphical methods. John Tukey ((Tukey 1977)) advocated the practice of exploratory data analysis (EDA) as a critical part of the scientific process. “No catalog of techniques can convey a willingness to look for what can be seen, whether or not anticipated. Yet this is at the heart of exploratory data analysis. The graph paper and transparencies are there, not as a technique, but rather as a recognition that the picture examining eye is the best finder we have of the wholly unanticipated.” Fortunately, we can dispense with the graph paper and transparencies and use software that makes routine work of developing the ‘pictures’ (i.e., graphical output) and descriptive statistics needed to explore our data. NASIS has an abundance of tabular soils data captured within it, dating back in some cases as far as 1975. These records capture a large amount of raw information about our soil series and map unit component concepts. In many cases, the data are not as clear to interpret or detailed as we would like. This chapter will demonstrate ways to characterize a variety of different data types. 3.1 Objectives (Exploratory Data Analysis) Review methods for estimating Low, RV, and High values Review different methods for visualizing soil data Review data transformations 3.2 Statistics Descriptive statistics include: Mean - arithmetic average Median - middle value Mode - most frequent value Standard Deviation - variation around the mean Interquartile Range - range encompasses 50% of the values Kurtosis - peakedness of the data distribution Skewness - symmetry of the data distribution Graphical methods include: Histogram - a bar plot where each bar represents the frequency of observations for a given range of values Density estimation - an estimation of the frequency distribution based on the sample data Quantile-quantile plot - a plot of the actual data values against a normal distribution Box plots - a visual representation of median, quartiles, symmetry, skewness, and outliers Scatter plots - a graphical display of one variable plotted on the x axis and another on the y axis Radial plots - plots formatted for the representation of circular data 3.3 Data Inspection Before you start an EDA, you should inspect your data and correct all typos and blatant errors. EDA can then be used to identify additional errors such as outliers and help you determine the appropriate statistical analyses. For this chapter we’ll use the loafercreek dataset from the CA630 Soil Survey Area. library(dplyr) # Load from the the loakercreek dataset data("loafercreek", package = "soilDB") # Extract the horizon table h <- aqp::horizons(loafercreek) # Construct generalized horizon designations n <- c("A", "BAt", "Bt1", "Bt2", "Cr", "R") # REGEX rules p <- c("A", "BA|AB", "Bt|Bw", "Bt3|Bt4|2B|C", "Cr", "R") # Compute genhz labels and add to loafercreek dataset h$genhz <- aqp::generalize.hz(h$hzname, n, p) # Examine genhz vs hznames (wide format) table(h$genhz, h$hzname) ## ## 2BC 2BCt 2Bt1 2Bt2 2Bt3 2Bt4 2Bt5 2CB 2CBt 2Cr 2Crt 2R A A1 A2 AB ABt Ad Ap B BA BAt BC BCt Bt Bt1 Bt2 Bt3 Bt4 Bw Bw1 ## A 0 0 0 0 0 0 0 0 0 0 0 0 97 7 7 0 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 ## BAt 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 31 8 0 0 0 0 0 0 0 0 0 ## Bt1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 0 0 8 93 88 0 0 10 2 ## Bt2 1 1 3 8 8 6 1 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 4 16 0 0 0 47 8 0 0 ## Cr 0 0 0 0 0 0 0 0 0 4 2 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 0 0 0 6 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 ## not-used 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 0 ## ## Bw2 Bw3 C CBt Cd Cr Cr/R Crt H1 Oi R Rt ## A 0 0 0 0 0 0 0 0 0 0 0 0 ## BAt 0 0 0 0 0 0 0 0 0 0 0 0 ## Bt1 2 1 0 0 0 0 0 0 0 0 0 0 ## Bt2 0 0 6 6 1 0 0 0 0 0 0 0 ## Cr 0 0 0 0 0 49 0 20 0 0 0 0 ## R 0 0 0 0 0 0 1 0 0 0 40 1 ## not-used 0 0 0 0 0 0 0 0 1 24 0 0 # Examine matching pairs (long format) h %>% group_by(genhz, hzname) %>% count() ## # A tibble: 43 × 3 ## # Groups: genhz, hzname [43] ## genhz hzname n ## <fct> <chr> <int> ## 1 A A 97 ## 2 A A1 7 ## 3 A A2 7 ## 4 A Ad 1 ## 5 A Ap 1 ## 6 BAt AB 1 ## 7 BAt BA 31 ## 8 BAt BAt 8 ## 9 Bt1 ABt 2 ## 10 Bt1 Bt 8 ## # ℹ 33 more rows As noted in Chapter 1, a visual examination of the raw data is possible by clicking on the dataset in the environment tab, or via commandline: View(h) This view is fine for a small dataset, but can be cumbersome for larger ones. The summary() function can be used to quickly summarize a dataset however, even for our small example dataset, the output can be voluminous. Therefore in the interest of saving space we’ll only look at a sample of columns. h %>% select(genhz, clay, total_frags_pct, phfield, effclass) %>% summary() ## genhz clay total_frags_pct phfield effclass ## A :113 Min. :10.00 Min. : 0.00 Min. :4.90 Length:626 ## BAt : 40 1st Qu.:18.00 1st Qu.: 0.00 1st Qu.:6.00 Class :character ## Bt1 :206 Median :22.00 Median : 5.00 Median :6.30 Mode :character ## Bt2 :118 Mean :23.63 Mean :13.88 Mean :6.18 ## Cr : 75 3rd Qu.:28.00 3rd Qu.:20.00 3rd Qu.:6.50 ## R : 48 Max. :60.00 Max. :95.00 Max. :7.00 ## not-used: 26 NA's :167 NA's :381 The summary() function is known as a generic R function. It will return a preprogrammed summary for any R object. Because h is a data frame, we get a summary of each column. Factors will be summarized by their frequency (i.e., number of observations), while numeric or integer variables will print out a five number summary, and characters simply print their length. The number of missing observations for any variable will also be printed if they are present. If any of these metrics look unfamiliar to you, don’t worry we’ll cover them shortly. When you do have missing data and the function you want to run will not run with missing values, the following options are available: Exclude all rows or columns that contain missing values using the function na.exclude(), such as h2 <- na.exclude(h). However this can be wasteful because it removes all rows (e.g., horizons), regardless if the row only has 1 missing value. Instead it’s sometimes best to create a temporary copy of the variable in question and then remove the missing variables, such as clay <- na.exclude(h$clay). Replace missing values with another value, such as zero, a global constant, or the mean or median value for that column, such as h$clay <- ifelse(is.na(h$clay), 0, h$clay) # or h[is.na(h$clay), ] <- 0. Read the help file for the function you’re attempting to use. Many functions have additional arguments for dealing with missing values, such as na.rm. A quick check for typos would be to examine the list of levels for a factor or character, such as: # just for factors levels(h$genhz) ## [1] "A" "BAt" "Bt1" "Bt2" "Cr" "R" "not-used" # for characters and factors sort(unique(h$hzname)) ## [1] "2BC" "2BCt" "2Bt1" "2Bt2" "2Bt3" "2Bt4" "2Bt5" "2CB" "2CBt" "2Cr" "2Crt" "2R" "A" "A1" "A2" "AB" "ABt" "Ad" ## [19] "Ap" "B" "BA" "BAt" "BC" "BCt" "Bt" "Bt1" "Bt2" "Bt3" "Bt4" "Bw" "Bw1" "Bw2" "Bw3" "C" "CBt" "Cd" ## [37] "Cr" "Cr/R" "Crt" "H1" "Oi" "R" "Rt" If the unique() function returned typos such as “BT” or “B t”, you could either fix your original dataset or you could make an adjustment in R, such as: h$hzname <- ifelse(h$hzname == "BT", "Bt", h$hzname) Typo errors such as these are a common problem with old pedon data in NASIS. 3.4 Exercise 1: fetch and inspect Create a new R script Load the gopheridge dataset found within the soilDB package or use your own data (highly encouraged) and inspect the dataset Apply the generalized horizon rules below or develop your own, see the following job-aid Summarize the hzdept, genhz, texture_class, sand, and fine gravel. Save your R script, and forward to your instructor. # gopheridge rules n <- c('A', 'Bt1', 'Bt2', 'Bt3','Cr','R') p <- c('^A|BA$', 'Bt1|Bw','Bt$|Bt2', 'Bt3|CBt$|BCt','Cr','R') 3.5 Descriptive Statistics Table 3.1: Short Description of Descriptive Statistics and R Functions Parameter NASIS Description R function Mean RV ? arithmetic average mean() Median RV middle value, 50% quantile median() Mode RV most frequent value sort(table(), decreasing = TRUE)[1] Standard Deviation L & H ? variation around mean sd() Quantiles L & H percent rank of values, such that all values are <= p quantile() 3.5.1 Measures of Central Tendency These measures are used to determine the mid-point of the range of observed values. In NASIS speak this should ideally be equivalent to the representative value (RV) for numeric and integer data. The mean and median are the most commonly used measures for our purposes. Mean - is the arithmetic average all are familiar with, formally expressed as: \\(\\bar{x} =\\frac{\\sum_{i=1}^{n}x_i}{n}\\) which sums ( \\(\\sum\\) ) all the X values in the sample and divides by the number (n) of samples. It is assumed that all references in this document refer to samples rather than a population. The mean clay content from the loafercreek dataset may be determined: mean(h$clay, na.rm = TRUE) ## [1] 23.62767 Median is the middle measurement of a sample set, and as such is a more robust estimate of central tendency than the mean. This is known as the middle or 50th quantile, meaning there are an equal number of samples with values less than and greater than the median. For example, assuming there are 21 samples, sorted in ascending order, the median would be the 11th sample. The median from the sample dataset may be determined: median(h$clay, na.rm = TRUE) ## [1] 22 Mode - is the most frequent measurement in the sample. The use of mode is typically reserved for factors, which we will discuss shortly. One issue with using the mode for numeric data is that the data need to be rounded to the level of desired precision. R does not include a function for calculating the mode, but we can calculate it using the following example. # sort and select the 1st value, which will be the mode sort(table(round(h$clay)), decreasing = TRUE)[1] ## 25 ## 42 Frequencies To summarize factors and characters we can examine their frequency or number of observations. This is accomplished using the table() or summary() functions. table(h$genhz) ## ## A BAt Bt1 Bt2 Cr R not-used ## 113 40 206 118 75 48 26 # or summary(h$genhz) ## A BAt Bt1 Bt2 Cr R not-used ## 113 40 206 118 75 48 26 This gives us a count of the number of observations for each horizon. If we want to see the comparison between two different factors or characters, we can include two variables. table(h$genhz, h$texcl) ## ## c cl l scl sic sicl sil sl ## A 0 0 78 0 0 0 27 6 ## BAt 0 2 31 0 0 1 4 1 ## Bt1 2 44 127 4 1 5 20 1 ## Bt2 16 54 29 5 1 3 5 0 ## Cr 1 0 0 0 0 0 0 0 ## R 0 0 0 0 0 0 0 0 ## not-used 0 1 0 0 0 0 0 0 # or h %>% count(genhz, texcl) ## genhz texcl n ## 1 A l 78 ## 2 A sil 27 ## 3 A sl 6 ## 4 A <NA> 2 ## 5 BAt cl 2 ## 6 BAt l 31 ## 7 BAt sicl 1 ## 8 BAt sil 4 ## 9 BAt sl 1 ## 10 BAt <NA> 1 ## 11 Bt1 c 2 ## 12 Bt1 cl 44 ## 13 Bt1 l 127 ## 14 Bt1 scl 4 ## 15 Bt1 sic 1 ## 16 Bt1 sicl 5 ## 17 Bt1 sil 20 ## 18 Bt1 sl 1 ## 19 Bt1 <NA> 2 ## 20 Bt2 c 16 ## 21 Bt2 cl 54 ## 22 Bt2 l 29 ## 23 Bt2 scl 5 ## 24 Bt2 sic 1 ## 25 Bt2 sicl 3 ## 26 Bt2 sil 5 ## 27 Bt2 <NA> 5 ## 28 Cr c 1 ## 29 Cr <NA> 74 ## 30 R <NA> 48 ## 31 not-used cl 1 ## 32 not-used <NA> 25 We can also add margin totals to the table or convert the table frequencies to proportions. # append the table with row and column sums addmargins(table(h$genhz, h$texcl)) ## ## c cl l scl sic sicl sil sl Sum ## A 0 0 78 0 0 0 27 6 111 ## BAt 0 2 31 0 0 1 4 1 39 ## Bt1 2 44 127 4 1 5 20 1 204 ## Bt2 16 54 29 5 1 3 5 0 113 ## Cr 1 0 0 0 0 0 0 0 1 ## R 0 0 0 0 0 0 0 0 0 ## not-used 0 1 0 0 0 0 0 0 1 ## Sum 19 101 265 9 2 9 56 8 469 # calculate the proportions relative to the rows, margin = 1 calculates for rows, margin = 2 calculates for columns, margin = NULL calculates for total observations table(h$genhz, h$texture_class) %>% prop.table(margin = 1) %>% round(2) * 100 ## ## br c cb cl gr l pg scl sic sicl sil sl spm ## A 0 0 0 0 0 70 0 0 0 0 24 5 0 ## BAt 0 0 0 5 0 79 0 0 0 3 10 3 0 ## Bt1 0 1 0 22 0 62 0 2 0 2 10 0 0 ## Bt2 0 14 1 46 2 25 1 4 1 3 4 0 0 ## Cr 97 2 0 0 2 0 0 0 0 0 0 0 0 ## R 100 0 0 0 0 0 0 0 0 0 0 0 0 ## not-used 0 0 0 4 0 0 0 0 0 0 0 0 96 To determine the mean by a group or category, use the group_by and summarize functions: h %>% group_by(genhz) %>% summarize(clay_avg = mean(clay, na.rm = TRUE), clay_med = median(clay, na.rm = TRUE) ) ## # A tibble: 7 × 3 ## genhz clay_avg clay_med ## <fct> <dbl> <dbl> ## 1 A 16.2 16 ## 2 BAt 19.5 19 ## 3 Bt1 24.0 24 ## 4 Bt2 31.2 30 ## 5 Cr 15 15 ## 6 R NaN NA ## 7 not-used NaN NA 3.5.2 Measures of Dispersion These are measures used to determine the spread of values around the mid-point. This is useful to determine if the samples are spread widely across the range of observations or concentrated near the mid-point. In NASIS speak these values might equate to the low (L) and high (H) values for numeric and integer data. Variance is a positive value indicating deviation from the mean: \\(s^2 = \\frac{\\sum_{i=1}^{n}(x_i - \\bar{x})^2} {n - 1}\\) This is the square of the sum of the deviations from the mean, divided by the number of samples minus 1. It is commonly referred to as the sum of squares. As the deviation increases, the variance increases. Conversely, if there is no deviation, the variance will equal 0. As a squared value, variance is always positive. Variance is an important component for many statistical analyses including the most commonly referred to measure of dispersion, the standard deviation. Variance for the sample dataset is: var(h$clay, na.rm=TRUE) ## [1] 64.27607 Standard Deviation is the square root of the variance: \\(s = \\sqrt\\frac{\\sum_{i=1}^{n}(x_i - \\bar{x})^2} {n - 1}\\) The units of the standard deviation are the same as the units measured. From the formula you can see that the standard deviation is simply the square root of the variance. Standard deviation for the sample dataset is: sd(h$clay, na.rm = TRUE) ## [1] 8.017236 # or sqrt(var(h$clay, na.rm = TRUE)) ## [1] 8.017236 Coefficient of Variation (CV) is a relative (i.e., unitless) measure of standard deviation: \\(CV = \\frac{s}{\\bar{x}} \\times 100\\) CV is calculated by dividing the standard deviation by the mean and multiplying by 100. Since standard deviation varies in magnitude with the value of the mean, the CV is useful for comparing relative variation amongst different datasets. However Webster (2001) discourages using CV to compare different variables. Webster (2001) also stresses that CV is reserved for variables that have an absolute 0, like clay content. CV may be calculated for the sample dataset as: # remove NA values and create a new variable clay <- na.exclude(h$clay) sd(clay) / mean(clay) * 100 ## [1] 33.93156 Quantiles (a.k.a. Percentiles) - the percentile is the value that cuts off the first nth percent of the data values when sorted in ascending order. The default for the quantile() function returns the min, 25th percentile, median or 50th percentile, 75th percentile, and max, known as the five number summary originally proposed by Tukey. Other probabilities however can be used. At present the 5th, 50th, and 95th are being proposed for determining the range in characteristics (RIC) for a given soil property. quantile(h$clay, na.rm = TRUE) ## 0% 25% 50% 75% 100% ## 10 18 22 28 60 # or quantile(clay, probs = c(0.05, 0.5, 0.95), na.rm = TRUE) ## 5% 50% 95% ## 13.0 22.0 38.1 Thus, for the five number summary 25% of the observations fall between each of the intervals. Quantiles are a useful metric because they are largely unaffected by the distribution of the data, and have a simple interpretation. Range is the difference between the highest and lowest measurement of a group. Using the sample data it may be determined as: range(clay) ## [1] 10 60 which returns the minimum and maximum values observed, or: diff(range(clay)) ## [1] 50 # or max(clay) - min(clay) ## [1] 50 Interquartile Range (IQR) is the range from the upper (75%) quartile to the lower (25%) quartile. This represents 50% of the observations occurring in the mid-range of a sample. IQR is a robust measure of dispersion, unaffected by the distribution of data. In soil survey lingo you could consider the IQR to estimate the central concept of a soil property. IQR may be calculated for the sample dataset as: IQR(clay) ## [1] 10 # or diff(quantile(clay, p = c(0.25, 0.75))) ## 75% ## 10 3.5.3 Correlation A correlation matrix is a table of the calculated correlation coefficients of all variables. This provides a quantitative measure to guide the decision making process. The following will produce a correlation matrix for the sp4 dataset: h$hzdepm <- (h$hzdepb + h$hzdept) / 2 # Compute the middle horizon depth h %>% select(hzdepm, clay, sand, total_frags_pct, phfield) %>% cor(use = "complete.obs") %>% round(2) ## hzdepm clay sand total_frags_pct phfield ## hzdepm 1.00 0.59 -0.08 0.50 -0.03 ## clay 0.59 1.00 -0.17 0.28 0.13 ## sand -0.08 -0.17 1.00 -0.05 0.12 ## total_frags_pct 0.50 0.28 -0.05 1.00 -0.16 ## phfield -0.03 0.13 0.12 -0.16 1.00 As seen in the output, variables are perfectly correlated with themselves and have a correlation coefficient of 1.0. Negative values indicate a negative relationship between variables. What is considered highly correlated? A good rule of thumb is anything with a value of 0.7 or greater is considered highly correlated. 3.6 Exercise 2: Compute Descriptive Statistics Add to your existing R script from Exercise 1. Aggregate by genhz and calculate several descriptive statistics for hzdept, gravel and phfield. Cross-tabulate geomposhill and argillic.horizon from the site table, as a percentage. Compute a correlation matrix between hzdept, gravel and phfield. Save your R script, and forward to your instructor. 3.7 Graphical Methods Now that we’ve checked for missing values and typos and made corrections, we can graphically examine the sample data distribution of our data. Frequency distributions are useful because they can help us visualize the center (e.g., RV) and spread or dispersion (e.g., low and high) of our data. Typically in introductory statistics the normal (i.e., Gaussian) distribution is emphasized. Table 3.2: Short Description of Graphical Methods Plot Types Description Bar a plot where each bar represents the frequency of observations for a ‘group’ Histogram a plot where each bar represents the frequency of observations for a ‘given range of values’ Density an estimation of the frequency distribution based on the sample data Quantile-Quantile a plot of the actual data values against a normal distribution Box-Whisker a visual representation of median, quartiles, symmetry, skewness, and outliers Scatter & Line a graphical display of one variable plotted on the x axis and another on the y axis Table 3.3: Comparison of R’s 3 Graphing Systems and their Equivalent Functions for Plotting Plot Types Base R lattice ggplot geoms Bar barplot() barchart() geom_bar() Histogram hist() histogram() geom_histogram() Density plot(density()) densityplot() geom_density() Quantile-Quantile qqnorm() qq() geom_qq() Box-Whisker boxplot() bwplot() geom_boxplot() Scatter & Line plot() xyplot geom_point() 3.7.1 Distributions 3.7.2 Bar Plot A bar plot is a graphical display of the frequency (i.e. number of observations (count or n)), such as soil texture, that fall within a given class. It is a graphical alternative to to the table() function. library(ggplot2) # bar plot ggplot(h, aes(x = texcl)) + geom_bar() 3.7.3 Histogram A histogram is similar to a bar plot, except that instead of summarizing categorical data, it categorizes a continuous variable like clay content into non-overlappying intervals for the sake of display. The number of intervals can be specified by the user, or can be automatically determined using an algorithm, such as nclass.Sturges(). Since histograms are dependent on the number of bins, for small datasets they’re not the best method of determining the shape of a distribution. ggplot(h, aes(x = clay)) + geom_histogram(bins = nclass.Sturges(h$clay)) 3.7.4 Density Curve A density estimation, also known as a Kernel density plot, generally provides a better visualization of the shape of the distribution in comparison to the histogram. Compared to the histogram where the y-axis represents the number or percent (i.e., frequency) of observations, the y-axis for the density plot represents the probability of observing any given value, such that the area under the curve equals one. One curious feature of the density curve is the hint of two peaks (i.e. bimodal distribution?). Given that our sample includes a mixture of surface and subsurface horizons, we may have two different populations. However, considering how much the two distributions overlap, it seems impractical to separate them in this instance. ggplot(h, aes(x = clay)) + geom_density() 3.7.5 Box plots Box plots are a graphical representation of the five number summary, depicting quartiles (i.e. the 25%, 50%, and 75% quantiles), minimum, maximum and outliers (if present). Boxplots convey the shape of the data distribution, the presence of extreme values, and the ability to compare with other variables using the same scale, providing an excellent tool for screening data, determining thresholds for variables and developing working hypotheses. The parts of the boxplot are shown in the figure below. The “box” of the boxplot is defined as the 1st quartile and the 3rd quartile. The median, or 2nd quartile, is the dark line in the box. The whiskers (typically) show data that is 1.5 * IQR above and below the 3rd and 1st quartile. Any data point that is beyond a whisker is considered an outlier. That is not to say the outlier points are in error, just that they are extreme compared to the rest of the data set. However, you may want to evaluate these points to ensure that they are correct. ggplot(h, aes(x = genhz, y = clay)) + geom_boxplot() The above box plot shows a steady increase in clay content with depth. Notice the outliers in the box plots, identified by the individual circles. 3.7.6 Quantile comparison plots (QQplot) A QQ plot is a plot of the actual data values against a normal distribution (which has a mean of 0 and standard deviation of 1). # QQ Plot for Clay ggplot(h, aes(sample = clay)) + geom_qq() + geom_qq_line() # QQ Plot for Frags ggplot(h, aes(sample = total_frags_pct)) + geom_qq() + geom_qq_line() If the data set is perfectly symmetric (i.e. normal), the data points will form a straight line. Overall this plot shows that our clay example is more or less symmetric. However the second plot shows that our rock fragments are far from evenly distributed. A more detailed explanation of QQ plots may be found on Wikipedia: https://en.wikipedia.org/wiki/QQ_plot 3.7.7 The ‘Normal’ distribution What is a normal distribution and why should you care? Many statistical methods are based on the properties of a normal distribution. Applying certain methods to data that are not normally distributed can give misleading or incorrect results. Most methods that assume normality are robust enough for all data except the very abnormal. This section is not meant to be a recipe for decision making, but more an extension of tools available to help you examine your data and proceed accordingly. The impact of normality is most commonly seen for parameters used by pedologists for documenting the ranges of a variable (i.e., Low, RV and High values). Often a rule-of thumb similar to: “two standard deviations” is used to define the low and high values of a variable. This is fine if the data are normally distributed. However, if the data are skewed, using the standard deviation as a parameter does not provide useful information of the data distribution. The quantitative measures of Kurtosis (peakedness) and Skewness (symmetry) can be used to assist in accessing normality and can be found in the fBasics package, but Webster (2001) cautions against using significance tests for assessing normality. The preceding sections and chapters will demonstrate various methods to cope with alternative distributions. A Gaussian distribution is often referred to as “Bell Curve”, and has the following properties: Gaussian distributions are symmetric around their mean The mean, median, and mode of a Gaussian distribution are equal The area under the curve is equal to 1.0 Gaussian distributions are denser in the center and less dense in the tails Gaussian distributions are defined by two parameters, the mean and the standard deviation 68% of the area under the curve is within one standard deviation of the mean Approximately 95% of the area of a Gaussian distribution is within two standard deviations of the mean Viewing a histogram or density plot of your data provides a quick visual reference for determining normality. Distributions are typically normal, Bimodal or Skewed: Examples of different types of distributions Occasionally distributions are Uniform, or nearly so: With the loafercreek dataset the mean and median for clay were only slightly different, so we can safely assume that we have a normal distribution. However many soil variables often have a non-normal distribution. For example, let’s look at graphical examination of the mean vs. median for clay and rock fragments: The solid lines represent the breakpoint for the mean and standard deviations. The dashed lines represents the median and quantiles. The median is a more robust measure of central tendency compared to the mean. In order for the mean to be a useful measure, the data distribution must be approximately normal. The further the data departs from normality, the less meaningful the mean becomes. The median always represents the same thing independent of the data distribution, namely, 50% of the samples are below and 50% are above the median. The example for clay again indicates that distribution is approximately normal. However for rock fragments, we commonly see a long tailed distribution (e.g., skewed). Using the mean in this instance would overestimate the rock fragments. Although in this instance the difference between the mean and median is only 9 percent. 3.7.8 Scatterplots and Line Plots Plotting points of one ratio or interval variable against another is a scatter plot. Plots can be produced for a single or multiple pairs of variables. Many independent variables are often under consideration in soil survey work. This is especially common when GIS is used, which offers the potential to correlate soil attributes with a large variety of raster datasets. The purpose of a scatterplot is to see how one variable relates to another. With modeling in general the goal is parsimony (i.e., simple). The goal is to determine the fewest number of variables required to explain or describe a relationship. If two variables explain the same thing, i.e., they are highly correlated, only one variable is needed. The scatterplot provides a perfect visual reference for this. Create a basic scatter plot using the loafercreek dataset. # scatter plot ggplot(h, aes(x = clay, y = hzdepm)) + geom_point() + ylim(100, 0) # line plot ggplot(h, aes(y = clay, x = hzdepm, group = peiid)) + geom_line() + coord_flip() + xlim(100, 0) This plots clay on the X axis and depth on the X axis. As shown in the scatterplot above, there is a moderate correlation between these variables. The function below produces a scatterplot matrix for all the numeric variables in the dataset. This is a good command to use for determining rough linear correlations for continuous variables. library(GGally) h %>% select(hzdepm, clay, phfield, total_frags_pct) %>% ggpairs() 3.7.9 3rd Dimension - Color, Shape, Size, Layers, etc… 3.7.9.1 Color and Groups # scatter plot ggplot(h, aes(x = clay, y = hzdepm, color = genhz)) + geom_point(size = 3) + ylim(100, 0) # density plot ggplot(h, aes(x = clay, color = genhz)) + geom_density(size = 2) # bar plot ggplot(h, aes(x = genhz, fill = texture_class)) + geom_bar() # box plot ggplot(h, aes(x = genhz, y = clay)) + geom_boxplot() # heat map (pseudo bar plot) s <- aqp::site(loafercreek) ggplot(s, aes(x = landform_string, y = pmkind)) + geom_tile(alpha = 0.2) 3.7.9.2 Facets - box plots library(tidyr) # convert to long format df <- h %>% select(peiid, genhz, hzdepm, clay, phfield, total_frags_pct) %>% pivot_longer(cols = c("clay", "phfield", "total_frags_pct")) ggplot(df, aes(x = genhz, y = value)) + geom_boxplot() + xlab("genhz") + facet_wrap(~ name, scales = "free_y") 3.7.9.3 Facets - depth plots data(loafercreek, package = "soilDB") s <- aqp::slab(loafercreek, fm = ~ clay + phfield + total_frags_pct, slab.structure = 0:100, slab.fun = function(x) quantile(x, c(0.1, 0.5, 0.9), na.rm = TRUE)) ggplot(s, aes(x = top, y = X50.)) + # plot median geom_line() + # plot 10th & 90th quantiles geom_ribbon(aes(ymin = X10., ymax = X90., x = top), alpha = 0.2) + # invert depths xlim(c(100, 0)) + # flip axis coord_flip() + facet_wrap(~ variable, scales = "free_x") 3.8 Exercise 3: Graphical Methods Add to your existing R script from Exercise 2. Create a faceted boxplot of genhz vs gravel and phfield. Create a facted depth plot for gravel and phfield Save your R script, and forward to your instructor. 3.9 Transformations Slope aspect and pH are two common variables warranting special consideration for pedologists. 3.9.1 pH There is a recurring debate as to the best way to average pH since is it a log transformed variable. Remember, pHs of 6 and 5 correspond to hydrogen ion concentrations of 0.000001 and 0.00001 respectively. The actual average is 5.26; -log10((0.000001 + 0.00001) / 2). If no conversions are made for pH, the mean and sd in the summary are considered the geometric mean and sd, not the arithmetic. The wider the pH range, the greater the difference between the geometric and arithmetic mean. The difference between the arithmetic average of 5.26 and the geometric average of 5.5 is small. Boyd, Tucker, and Viriyatum (2011) examined the issue in detail, and suggests that regardless of the method is used it should be documented. If you have a table with pH values and wish to calculate the arithmetic mean using R, this example will work: # arithmetic mean log10(mean(1/10^-h$phfield, na.rm = TRUE)) ## [1] 6.371026 # geometric mean mean(h$phfield, na.rm = TRUE) ## [1] 6.18 3.9.2 Circular data Slope aspect - requires the use of circular statistics for numerical summaries, or graphical interpretation using circular plots. For example, if soil map units being summarized have a uniform distribution of slope aspects ranging from 335 degrees to 25 degrees, the Zonal Statistics tool in ArcGIS would return a mean of 180. The most intuitive means available for evaluating and describing slope aspect are circular plots available with the circular package in R and the radial plot option in the TEUI Toolkit. The circular package in R will also calculate circular statistics like mean, median, quartiles etc. library(circular) # Extract the site table s <- aqp::site(loafercreek) aspect <- s$aspect_field aspect <- circular(aspect, template="geographic", units="degrees", modulo="2pi") summary(aspect) ## n Min. 1st Qu. Median Mean 3rd Qu. Max. Rho NA's ## 101.0000 12.0000 255.0000 195.0000 199.5000 115.0000 20.0000 0.1772 5.0000 The numeric output is fine, but a following graphic is more revealing, which shows the dominant Southwest slope aspect. rose.diag(aspect, bins = 8, col="grey") 3.9.3 Texture Class and Fine-earth Separates Many pedon descriptions include soil texture class and modifiers, but lack numeric estimates such as clay content and rock fragments percentage. This lack of “continuous” numeric data makes it difficult to analyze and estimate certain properties precisely. While numeric data on textural separates may be missing, it can still be estimated by the class ranges and averages. NASIS has many calculations used to estimate missing values. To facilitate this process in R, several new functions have recently been added to the aqp package. These new aqp functions are intended to impute missing values or check existing values. The ssc_to_texcl() function uses the same logic as the particle size estimator calculation in NASIS to classify sand and clay into texture class. The results are stored in data(soiltexture) and used by texcl_to_ssc() as a lookup table to convert texture class to sand, silt and clay. The function texcl_to_ssc() replicates the functionality described by Levi (2017). Unlike the other functions, texture_to_taxpartsize() is intended to be computed on weighted averages within the family particle size control section. Below is a demonstration of these new aqp R functions. library(aqp) library(soiltexture) # example of texcl_to_ssc(texcl) texcl <- c("s", "ls", "l", "cl", "c") test <- texcl_to_ssc(texcl) head(cbind(texcl, test)) # example of ssc_to_texcl() ssc <- data.frame(CLAY = c(55, 33, 18, 6, 3), SAND = c(20, 33, 42, 82, 93), SILT = c(25, 34, 40, 12, 4) ) texcl <- ssc_to_texcl(sand = ssc$SAND, clay = ssc$CLAY ) ssc_texcl <- cbind(ssc, texcl) head(ssc_texcl) # plot on a textural triangle TT.plot(class.sys = "USDA-NCSS.TT", tri.data = ssc_texcl, pch = 16, col = "blue" ) # example of texmod_to_fragvoltol() frags <- c("gr", "grv", "grx", "pgr", "pgrv", "pgrx") test <- texmod_to_fragvoltot(frags)[1:4] head(test) # example of texture_to_taxpartsize() tex <- data.frame(texcl = c("c", "cl", "l", "ls", "s"), clay = c(55, 33, 18, 6, 3), sand = c(20, 33, 42, 82, 93), fragvoltot = c(35, 15, 34, 60, 91) ) tex$fpsc <- texture_to_taxpartsize( texcl = tex$texcl, clay = tex$clay, sand = tex$sand, fragvoltot = tex$fragvoltot ) head(tex) 3.10 The Shiny Package Shiny is an R package which combines R programming with the interactivity of the web. install.packages("shiny") Methods for Use Online Locally The shiny package, created by RStudio, enables users to not only use interactive applications created by others, but to build them as well. 3.10.1 Online Easiest Method Click a Link: https://gallery.shinyapps.io/lake_erie_fisheries_stock_assessment_app/ Open a web browser Navigate to a URL The ability to use a shiny app online is one of the most useful features of the package. All of the R code is executed on a remote computer which sends the results over a live http connection. Very little is required of the user in order to obtain results. 3.10.2 Locally No Internet required once configured Install R and RStudio (done) Install Required packages (app dependent) Download, open in RStudio and click “Run App” The online method may be easy for the user, but it does require a significant amount of additional effort for the creator. We won’t get into those details here! The local method, however simply requires the creator to share a single app.R file. It is the user which needs to put forth the additional effort. 3.10.3 Web App Demonstration Online: https://usda.shinyapps.io/ncr_app/ Local: https://github.com/ncss-tech/vitrusa/raw/master/r11_smp_app/app.R Online apps such as the North Central Region Web App are useful tools, available for all to use during soil survey, ecological site development, or other evaluations. The North Central Region app is however limited to data which is already available online, such as SDA (Soil Data Access) and NASIS (National Soil Information System) Web Reports. It is also reliant on the successful operation of those data systems. If the NASIS Web Reports or SDA is down for maintenance, the app fails. Local apps have the ability to leverage local data systems more easily like NASIS or other proprietary data. 3.10.4 Troubleshooting Errors Reload the app and try again. (refresh browser, or click stop, and run app again in RStudio) When the app throws an error, it stops. All other tabs/reports will no longer function until the app is reloaded. Read the getting started section on the home page. This is a quick summary of tips to avoid issues, and will be updated as needed. Check to see if SDA and NASIS Web Reports are operational, if they aren’t working, then the app won’t work either. Double check your query inputs. (typos, wildcards, null data, and too much data, can be common issues) 5 minutes of inactivity will cause the connection to drop, be sure you are actively using the app. Run the app locally - the online app does not show console activity, which can be a big help when identifying problems. Check the app issues page to see if the issue you are experiencing is already documented. (Polite but not required) Contact the app author (john.hammerly@usda.gov) When you run into trouble, there are a few steps you can take on your own to get things working again. This list may help you get your issue resolved. If not, contact (john.hammerly@usda.gov) for assistance. 3.10.5 Shiny App Embedding Shiny apps are extremely versatile, they can be embedded into presentations, Markdown, or HTML Those same formats can also be embedded in to a shiny app. This is a very simple example of a shiny app which consists of an interactive dropdown menu which controls what region is displayed in the bar chart. Let’s take a look at the code. 3.10.5.1 Shiny App Code shinyApp( # Use a fluid Bootstrap layout ui = fluidPage( # Give the page a title titlePanel("Telephones by region"), # Generate a row with a sidebar sidebarLayout( # Define the sidebar with one input sidebarPanel( selectInput("region", "Region:", choices = colnames(datasets::WorldPhones)), hr(), helpText("Data from AT&T (1961) The World's Telephones.") ), # Create a spot for the barplot mainPanel( plotOutput("phonePlot") ) ) ), # Define a server function for the Shiny app server = function(input, output) { # Fill in the spot we created for a plot output$phonePlot <- renderPlot({ # Render a barplot barplot( datasets::WorldPhones[, input$region] * 1000, main = input$region, ylab = "Number of Telephones", xlab = "Year" ) }) } ) Shiny apps consist of a ui and a server. The ui is the part of the shiny app the user sees, the user interface. In the ui, a user can choose or enter inputs for processing and viewing the results. The server takes the inputs, performs some data processing and rendering of those inputs and generates the outputs for the ui to display. 3.10.6 Questions What new features in RStudio are available for you to use once the shiny package is installed? The Region 11 Web App uses which two data sources for reports? If an error occurs while using the Region 11 Web App, what should you do? Poll: A shiny app consists of: 3.10.7 Examples 3.10.7.1 NASIS Reports The NASIS Reports button is a link to a master list of NASIS Web reports for Regions 10 and 11. 3.10.7.2 Water Table The query method option allows you to choose between MUKEY, NATSYM, MUNAME. It also has a radio button for switching between flooding and ponding. Plots and Data Tables are on separate sub-menu items. 3.10.7.3 Organic Matter Same options as the Water Table Tab except no radio button. The query method option allows you to choose between MUKEY, NATSYM, MUNAME. Plots and Data Tables are on separate sub-menu items. 3.10.7.4 Project Report The project report can accept multiple projects. Use the semicolon (;) as a separator. You can also save a copy of the report by clicking the link below the submit button. 3.10.7.5 Project Extent Type in Year, type or select office and type project name for the Project extent query. Zoom and pan to view extent. Use the layers button to change the basemap or toggle layers. Click the link below the submit button to download a .zip containing the extent as a ESRI shapefile. 3.10.7.6 Long Range Plan Enter an office symbol to generate a long range plan report. 3.10.7.7 Interpretations Enter the national mapunit symbol to plot all available interpretations for the mapunit from SDA. 3.10.8 Work on your Own 3.10.8.1 Project Report Use the project report to generate a report on a project in your own area. Save the results and explain the results of pH plots for one of your components. 3.10.8.2 Project Extent Map an extent of a project. How many layers are available to choose from as a basemap? How many layers can be toggled on or off? 3.10.8.3 Long Range Plan Choose an office to generate a long range plan. What is the highest acreage project for 2025? ## Soil Reports One of the strengths of NASIS is that it that has many queries and reports to access the complex data. This makes it easy for the average user to load their data, process it and run numerous reports. 3.11 soilReports The soilReports R package is essentially just a collection of R Markdown (.Rmd) documents. R Markdown is a plain text markup format for creating reproducible, dynamic reports with R. These .Rmd files can be used to generate HTML, PDF, Word, Markdown documents with a variety of forms, templates and applications. Example report output can be found at the following link: https://github.com/ncss-tech/soilReports#example-output. Detailed instructions are provided for each report: https://github.com/ncss-tech/soilReports#choose-an-available-report Install the soilReports package. This package is updated regularly and should be installed from GitHub. # Install the soilReports package from GitHub remotes::install_github("ncss-tech/soilReports", dependencies = FALSE, build = FALSE) To view the list of available reports first load the package then use the listReports() function. # Load the soilReports package library(soilReports) # List reports listReports() ## name version ## 1 national/DT-report 1.0 ## 2 national/NASIS-site-export 1.0 ## 3 region11/component_summary_by_project 0.1 ## 4 region11/lab_summary_by_taxonname 1.0 ## 5 region11/mupolygon_summary_by_project 0.1 ## 6 region11/pedon_summary_by_taxonname 1.1 ## 7 region2/dmu-diff 0.7 ## 8 region2/dmu-summary 0.4 ## 9 region2/edit-soil-features 0.2.1 ## 10 region2/gdb-acreage 1.0 ## 11 region2/mlra-comparison-dynamic 0.1 ## 12 region2/mlra-comparison 2.0 ## 13 region2/mu-comparison-dashboard 0.0.0 ## 14 region2/mu-comparison 4.0.3 ## 15 region2/mu-summary 1 ## 16 region2/pedon-summary 1.0 ## 17 region2/QA-summary 0.6 ## 18 region2/shiny-pedon-summary 1.1 ## 19 region2/spatial-pedons 1.0 ## 20 templates/minimal 1.0 ## description ## 1 Create interactive data tables from CSV files ## 2 Export NASIS Sites to Spatial Layer ## 3 summarize component data for an MLRA project ## 4 summarize lab data from NASIS Lab Layer table ## 5 summarize mupolygon layer from a geodatabase ## 6 summarize field pedons from NASIS pedon table ## 7 Differences between select DMU ## 8 DMU Summary Report ## 9 Generate summaries of NASIS components for EDIT Soil Features sections ## 10 Geodatabase Mapunit Acreage Summary Report ## 11 compare MLRA/LRU-scale delineations, based on mu-comparison report ## 12 compare MLRA using pre-made, raster sample databases ## 13 interactively subset and summarize SSURGO data for input to `region2/mu-comparison` report ## 14 compare stack of raster data, sampled from polygons associated with 1-8 map units ## 15 summarize raster data for a large collection of map unit polygons ## 16 Generate summaries from NASIS pedons and associated spatial data ## 17 QA Summary Report ## 18 Interactively subset and summarize NASIS pedon data from one or more map units ## 19 Visualize NASIS pedons in interactive HTML report with overlays of SSURGO, STATSGO or custom polygons ## 20 A minimal soilReports template 3.11.1 Extending soilReports Each report in soilReports has a “manifest” that describes any dependencies, configuration files or inputs for your R Markdown report document. If you can identify these things it is easy to convert your own R-based analyses to the soilReports format. The .Rmd file allows R code and text with Markdown markup to be mingled in the same document and then “executed” like an R script. 3.11.2 Exercise: Run Shiny Pedon Summary The region2/shiny-pedon-summary report is an interactive Shiny-based report that uses flexdashboard to help the user subset and summarize NASIS pedons from a graphical interface. You can try a ShinyApps.io demo here The “Shiny Pedon Summary” allows one to rapidly generate reports from a large set of pedons in their NASIS selected set. The left INPUT sidebar has numerous options for subsetting pedon data. Specifically, you can change REGEX patterns for mapunit symbol, taxon name, local phase, and User Pedon ID. Also, you can use the drop down boxes to filter on taxon kind or compare different “modal”/RV pedons. Example: Analyzing the Loafercreek Taxadjuncts Create an instance of the region2/shiny-pedon-summary report with soilReports: # create new instance of reports library(soilReports) # set path for shiny-pedon-summary report instance shinyped.path <- "C:/workspace2/chapter3/shiny-pedon" # create directories (if needed) if(!dir.exists(shinyped.path)) dir.create(shinyped.path, recursive = TRUE) # get report dependencies reportSetup('region2/shiny-pedon-summary') # copy report contents to target path copyReport('region2/shiny-pedon-summary', outputDir = shinyped.path, overwrite = TRUE) Update the config.R file You can update the config.R file in “C:/workspace2/chapter3/shiny-pedon” (or wherever you installed the report) to use the soilDB datasets loafercreek and gopheridge by setting demo_mode <- TRUE. This is the simplest way to demonstrate how this report works. Alternately, when demo_mode <- FALSE, pedons will be loaded from your NASIS selected set. config.R also allows you to specify a shapefile for overlaying the points on – to determine mapunit symbol – as well as several raster data sources whose values will be extracted at point locations and summarized. The demo dataset does not use either of these by default, due to large file sizes. Furthermore, a default (very general) set of REGEX generalized horizon patterns is provided to assign generalized horizon labels for provisional grouping. These provided patterns are unlikely to cover ALL cases, and always need to be modified for final correlation. That said, they do a decent job of making a first-pass correlation for diverse types of soils. The default config.R settings use the general patterns: use_regex_ghz <- TRUE. You are welcome to modify the defaults. If you want to use the values you have populated in NASIS Pedon Horizon Component Layer ID, set use_regex_ghz <- FALSE. Run the report via shiny.Rmd This report uses the Shiny flexdashboard interface. Open up shiny.Rmd and click the “Run Document” button to start the report. This will load the pedon and spatial data specified in config.R. NOTE: If a Viewer Window does not pop-up right away, click the gear icon to the right of the “Run Document” button. Be sure the option “Preview in Window” is checked, then click “Run Document” again. All of the subset parameters are in the left-hand sidebar. Play around with all of these options – the graphs and plots in the tabs to the right will automatically update as you make changes. When you like what you have, you can export a non-interactive HTML file for your records. To do this, first, set the “Report name:” box to something informative – this will be your report output file name. Then, scroll down to the bottom of the INPUT sidebar and click “Export Report” button. Check the “output” folder (subdirectory of where you installed the report) for your results. 3.11.3 Exercise: Run Mapunit Comparison Another popular report in soilReports is the region2/mu-comparison report. This report uses constant density sampling (sharpshootR::constantDensitySampling()) to extract numeric and categorical values from multiple raster data sources that overlap a set of user-supplied polygons. In this example, we clip a small portion of SSURGO polygons from the CA630 soil survey area extent. We then select a small set of mapunit symbols (5012, 3046, 7083, 7085, 7088) that occur within the clipping extent. These mapunits have soil forming factors we expect to contrast with one another in several ways. You can inspect other mapunit symbols by changing mu.set in config.R. Download the demo data: # set up ch4 path and path for report mucomp.path <- "C:/workspace2/chapter3/mucomp" # create any directories that may be missing if(!dir.exists(mucomp.path)) { dir.create(mucomp.path, recursive = TRUE) } mucomp.zip <- file.path(mucomp.path, 'mucomp-data.zip') # download raster data, SSURGO clip from CA630, and sample script for clipping your own raster data download.file('https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_3-mucomp-data/mucomp-data.zip', mucomp.zip) unzip(mucomp.zip, exdir = mucomp.path, overwrite = TRUE) Create an instance of the region2/mu-comparison report with soilReports: # create new instance of reports library(soilReports) # get report dependencies reportSetup('region2/mu-comparison') # create report instance copyReport('region2/mu-comparison', outputDir = mucomp.path, overwrite = TRUE) If you want, you can now set up the default config.R that is created by copyReport() to work with your own data. OR you can use the “sample” config.R file (called new_config.R) in the ZIP file downloaded above. Run this code to replace the default config.R with the sample data config.R: # copy config file containing relative paths to rasters downloaded above file.copy(from = file.path(mucomp.path, "new_config.R"), to = file.path(mucomp.path, "config.R"), overwrite = TRUE) Open report.Rmd in the C:/workspace2/chapter3/mucomp folder and click the “Knit” button at the top of the RStudio source pane to run the report. Inspect the report output HTML file, as well as the spatial and tabular data output in the output folder. Question: What differences can you see between the five mapunit symbols that were analyzed? 3.11.4 Exercise: Run Lab Summary By Taxon Name Soil Report For another exercise you can use the region11/lab_summary_by_taxonname report report to summarize laboratory data for a soil series. This report requires you to get some data from the Pedon “NCSS Lab” tables in NASIS. 3.11.4.1 Requirements Data are properly populated, otherwise the report may fail. Common examples include: Horizon depths don’t lineup Either the Pedon or Site tables isn’t loaded ODBC connection to NASIS is set up Beware each report has a unique configuration file that may need to be edited. 3.11.4.2 Instructions Load your NASIS selected set. Run a query such as “POINT - Pedon/Site/NCSSlabdata by upedonid and Taxon Name” from the Region 11 report folder to load your selected set. Be sure to target both the site, pedon and lab layer tables. Remove from your selected set the pedons and sites you wish to exclude from the report. Copy the lab summary to your working directory. copyReport(reportName = "region11/lab_summary_by_taxonname", outputDir = "C:/workspace2/lab_sum") Examine the report folder contents. The report is titled report.Rmd. Notice there are several other support files. The parameters for the report are contained in the config.R file. Check or create a genhz_rules file for a soil series. In order to aggregate the pedons by horizon designation, a genhz_rules file (e.g., Miami_rules.R) is needed. See above. If none exists see the following job aid on how to create one, Assigning Generalized Horizon Labels. Pay special attention to how caret ^ and dollar $ symbols are used in REGEX. They function as anchors for the beginning and end of the string, respectively. A ^ placed before an A horizon, ^A, will match any horizon designation that starts with A, such as Ap, Ap1, but not something merely containing A, such as BA. Placing a $ after a Bt horizon, Bt$, will match any horizon designation that ends with Bt, such as 2Bt or 3Bt, but not something with a vertical subdivision, such as Bt2. Wrapping pattern with both ^ and $ symbols will result only in exact matches – i.e. that start and end with the contents between ^ and $. For example ^[AC]$, will only match A or C, not Ap, Ap2, or Cg. Execute the report. Command-line approach # Set report parameters series <- "Miami" genhz_rules <- "C:/workspace2/lab_sum/Miami_rules.R" # report file path report_path <- "C:/workspace2/lab_sum/report.Rmd" # Run the report render(input = report_path, output_dir = "C:/workspace2", output_file = "C:/workspace2/lab_sum.html", envir = new.env(), params = list(series = series, genhz_rules = genhz_rules ) ) Manual approach Open the report.Rmd, hit the Knit drop down arrow, and select Knit with Parameters. Save the report. The report is automatically saved upon creation in the same folder as the R report. However, it is given the same generic name as the R report (i.e., “C:/workspace/lab_sum/report.html”), and will be overwritten the next time the report is run. Therefore, if you wish to save the report, rename the .html file to a name of your choosing and/or convert it to a PDF. Also, beware when opening the .html file with Internet Explorer – be sure to click on “Allow blocked content” if prompted. Otherwise, Internet Explorer will alter the formatting of tables etc. within the document. Sample pedon report Brief summary of steps: Load your selected set with the pedon and site table for an existing GHL file, or make your own (highly encouraged) Run the lab_summary_by_taxonname.Rmd report on a soil series of your choice. Show your work and submit the results to your mentor. 3.12 Additional Reading (Exploratory Data Analysis) Healy, K., 2018. Data Visualization: a practical introduction. Princeton University Press. http://socviz.co/ Helsel, D.R., Hirsch, R.M., Ryberg, K.R., Archfield, S.A., and Gilroy, E.J., 2020, Statistical methods in water resources: U.S. Geological Survey Techniques and Methods, book 4, chap. A3, 458 p., https://doi.org/10.3133/tm4a3. [Supersedes USGS Techniques of Water-Resources Investigations, book 4, chap. A3, version 1.1.] Kabacoff, R.I., 2018. Data Visualization in R. https://rkabacoff.github.io/datavis/ Peng, R. D., 2016. Exploratory Data Analysis with R. Leanpub. https://bookdown.org/rdpeng/exdata/ Wilke, C.O., 2019. Fundamentals of Data Visualization. O’Reily Media, Inc. https://clauswilke.com/dataviz/ References Boyd, Claude E., Craig S. Tucker, and Rawee Viriyatum. 2011. “Interpretation of pH, Acidity, and Alkalinity in Aquaculture and Fisheries.” North American Journal of Aquaculture 73 (4): 403–8. https://doi.org/10.1080/15222055.2011.620861. Tukey, John Wilder. 1977. Exploratory Data Analysis. Addison-Wesley Series in Behavioral Science. Reading, Mass: Addison-Wesley Pub. Co. https://archive.org/details/exploratorydataa0000tuke_7616. Webster, R. 2001. “Statistics to Support Soil Research and Their Presentation.” European Journal of Soil Science 52 (2): 331–40. https://doi.org/10.1046/j.1365-2389.2001.00383.x. "],["spatial.html", "Chapter 4 Spatial Data in R 4.1 Objectives (Spatial Data) 4.2 Making Maps with R 4.3 Spatial Data Sources 4.4 Viewing Pedon Locations 4.5 Exercise 1: Pedon Locations 4.6 Packages for Vector Data 4.7 Exercise 2: Map your favorite soil series extents 4.8 Packages for Raster Data 4.9 Coordinate Reference Systems (CRS) 4.10 Load Required Packages 4.11 Download Example Data 4.12 Load Example MLRA Data 4.13 Vector Data 4.14 Raster Data 4.15 Spatial Operations 4.16 Exercise 3: Extracting Raster Data 4.17 Additional Reading (Spatial)", " Chapter 4 Spatial Data in R This chapter is a brief demonstration of possible ways to process spatial data in R. This will help you to develop a strategy for selecting spatial data processing methods. 4.1 Objectives (Spatial Data) Gain experience creating, editing, and exporting spatial data objects in R. Learn the basics of sf package for vector (points, lines, polygons) data Learn the basics of terra classes and functions for vector and raster data Learn about some interfaces to NCSS spatial data sources Create maps with R The next sections will require loading these libraries into the R session. # SPC and soil database interface library(aqp) library(soilDB) # "Simple Feature" (vector) data structures library(sf) # superseded by sf -- spatial object classes e.g. SpatialPoints/SpatialPolygons library(sp) # gridded data management / analysis library(terra) # superseded by terra # library(raster) # interactive maps with leaflet library(mapview) There are many packages available for working with spatial data, however we only have time to cover introducing a few common libraries. A couple resources are linked here for 5 packages that provide different ways displaying spatial data graphically: tmap ggplot2, ggmap mapview mapdeck leaflet 4.2 Making Maps with R R has become a powerful tool for visualization and interaction with spatial data. There are many tools available for making maps with R! It is not all geostatistics and coordinate reference system transformations. There are powerful ways to automate your GIS workflow from beginning to end–from creating terrain derivatives from a source DEM, to high-quality, publication-ready maps and interactive HTML/JavaScript widgets. An excellent resource for making maps with R is the chapter in “Geocomputation with R” geocompr: Making maps with R 4.3 Spatial Data Sources Spatial data sources: “raster” and “vector” Raster data sources (grids/images): GeoTIFF, ERDAS, BIL, ASCII grid, WMS, … Vector data sources (points/lines/polygons): Shape File, ESRI File Geodatabase, KML, GeoJSON, GML, WFS, … Conventional data sources that can be upgraded to be spatial data because they contain GeoJSON, WKT, or point coordinates include: NASIS/LIMS reports Web pages and Web Services Excel and CSV files Photo EXIF information Here are some R-based interfaces to NCSS data sources via soilDB package. Functions that return tabular data which can be upgraded to spatial data: fetchNASIS(): NASIS “site” data contain longitude, latitude fetchLDM(): KSSL “site” data from Lab Data Mart contain longitude, latitude coordinates fetchKSSL(): KSSL “site” data from SoilWeb contain longitude, latitude coordinates coordinates Functions that return spatial data: fetchSDA_spatial(): polygon, bounding box and centroid data from SSURGO, STATSGO and the sapolygon (Soil Survey Area Polygon) from Soil Data Access (SDA) fetchHenry(): sensor / weather station locations as points SDA_query(): SSURGO data as points, lines, polygons (via SDA) SDA_spatialQuery(): use points or polygons as a “query” to SDA seriesExtent() and taxaExtent(): extent of series and taxonomic classes derived from SSURGO (SoilWeb) in vector and raster format (800m resolution). The vector output is identical to series extents reported by Series Extent Explorer mukey.wcs() and ISSR800.wcs() provide an interface to gSSURGO (mukey), gNATSGO (mukey), and the ISSR-800 (gridded soil property) data. 4.4 Viewing Pedon Locations In this section we will introuduce the sf package with mapview. 4.4.1 Plotting Geographic Data Making maps of data gives you some idea how data look spatially and whether their distribution is what you expect. Typos are relatively common when coordinates are manually entered. Viewing the data spatially is a quick way to see if any points plot far outside of the expected geographic area of interest. # plot the locations of the gopheridge pedons with R # # Steps: # 1) create and inspect an sf data.frame object # 2) plot the data with mapview # load libraries library(aqp) library(soilDB) library(sf) library(mapview) # this creates sample gopheridge object in your environment data("gopheridge", package = "soilDB") # replace gopheridge object with fetchNASIS() (your data) # gopheridge <- fetchNASIS() # create simple features POINT geometry data.frame # st_as_sf(): convert data.frame to spatial simple features, with points in $geometry # st_crs(): set EPSG:4326 Coordinate Reference System (CRS) as Well-Known Text (WKT) gopher.locations <- st_as_sf( site(gopheridge), coords = c('longstddecimaldegrees','latstddecimaldegrees'), crs = st_crs(4326) ) # create interactive map with sfc_POINT object # use site_id in sf data.frame as labels mapview(gopher.locations, label = gopher.locations$site_id) 4.5 Exercise 1: Pedon Locations In this exercise, you will create an interactive map with the pedons in your selected set. Then you will export them to a shapefile. Modify the code snippets below to make an R plot and a shapefile of pedon data loaded from your NASIS selected set. You will plot pedon locations using the standard WGS84 longitude/latitude decimal degrees fields from Site table of NASIS. In some cases, these data might be incomplete; you need to handle this possibility. In this exercise you will create a subset SoilProfileCollection for the pedons that are not missing spatial data (longstddecimaldegrees and latstddecimaldegrees). Make a new R script, load the aqp, soilDB, sf and mapview packages and some pedons via fetchNASIS() (or similar source). library(aqp) library(soilDB) library(sf) library(mapview) # get pedons from the selected set pedons <- fetchNASIS(from = 'pedons') Use the base R subset() function to create a subset of your SoilProfileCollection using is.na() longstddecimaldegrees and latstddecimaldegrees variables contain WGS84 longitude and latitude in decimal degrees. This is the standard format for location information used in NASIS. # modify this code (replace ...) to create a subset pedons.sp <- aqp::subset(pedons, ...) Create a sf data.frame from the site data in the SoilProfileCollection object pedons.sp using aqp::site(). Replace the ... in the following code. Promoting a data.frame to sf POINT geometry requires that the X and Y columns be specified. pedon.locations <- sf::st_as_sf( ..., coords = c('longstddecimaldegrees', 'latstddecimaldegrees'), crs = sf::st_crs(4326) #WGS84 GCS ) View your sf object pedon.locations interactively with mapview::mapview(), and change the map.types argument to 'Esri.WorldImagery'. Use the pedon.locations column named site_id for the label argument. # plot an interactive map mapview(pedon.locations, legend = FALSE, map.types = 'OpenStreetMap', ...) Create a subset sf data.frame with only the following “site data” columns: pedlabsampnum, upedonid, taxonname, hillslopeprof, elev_field, slope_field, aspect_field, plantassocnm, bedrckdepth, bedrckkind, pmkind, pmorigin. Select the target columns with dplyr::select() (or another method) by replacing the ... in the following code. pedon.locations_sub <- dplyr::select(pedon.locations, ...) # see also base::subset(x, select=...) Export the spatial information in pedon.locations_sub to a shape file (.shp) with sf::st_write() # write to SHP; output CRS is geographic coordinate system WGS84 sf::st_write(pedon.locations_sub, "./NASIS-pedons.shp") Send a screenshot of your interactive map, and your R script, to your mentor. For an example of exporting data to shapefile with the sp package, see this tutorial: Export Pedons to Shapefile with sp. 4.6 Packages for Vector Data 4.6.1 The sf package Simple Features Access is a set of standards that specify a common storage and access model of geographic features. It is used mostly for two-dimensional geometries such as point, line, polygon, multi-point, multi-line, etc. This is one of many ways of modeling the geometry of shapes in the real world. This model happens to be widely adopted in the R ecosystem via the sf package, and very convenient for typical data encountered by soil survey operations. The sf package represents the latest and greatest in spatial data processing within the comfort of an R session. It provides a “main” object class sf to contain geometric data and associated tabular data in a familiar data.frame format. sf methods work on a variety of different levels of abstraction and manipulation of those geometries. Most of the sf package functions start with the prefix st_, such as: st_crs() (get/set coordinate reference system), st_transform() (project feature class to different coordinate reference system), st_bbox() (bounding box), st_buffer() (buffer). Many of these are “verbs” that are common GIS operations. 4.6.1.1 sf vignettes You can the following sf package vignettes for details, sample data sets and usage of sf objects. Simple Features for R Reading, Writing and Converting Simple Features Manipulating Simple Feature Geometries Manipulating Simple Features Plotting Simple Features Miscellaneous Spherical geometry in sf using s2geometry 4.6.2 The sp Package The data structures (“classes”) and functions provided by the sp package have served a foundational role in the handling of spatial data in R for years. Many of the following examples will reference names such as SpatialPoints, SpatialPointsDataFrame, and SpatialPolygonsDataFrame. These are specialized (S4) classes implemented by the sp package. Objects of these classes maintain linkages between all of the components of spatial data. For example, a point, line, or polygon feature will typically be associated with: coordinate geometry bounding box coordinate reference system attribute table 4.6.3 Converting sp and sf sp provides access to the same compiled code libraries (PROJ, GDAL, GEOS) through sf package. For now the different package object types are interchangeable, and you may find yourself having to do this for a variety of reasons. You can convert between object types as needed using sf::as_Spatial() or sf::st_as_sf(). Check the documentation (?functionname) to figure out what object types different methods need as input; and check an input object’s class with class() or inherits(). 4.6.4 Importing / Exporting Vector Data Import a feature class from a ESRI File Geodatabase or shape file. If you have a .shp file, you can specify the whole path, including the file extension in the dsn argument, or just the folder. For a Geodatabase, you should specify the feature class using the layer argument. Note that a trailing “/” is omitted from the dsn (data source name) and the “.shp” suffix is omitted from the layer. 4.6.4.1 sf x <- sf::st_read(dsn = 'E:/gis_data/ca630/FG_CA630_OFFICIAL.gdb', layer = 'ca630_a') x <- sf::read_sf(dsn = 'E:/gis_data/ca630/pedon_locations.shp') sf::st_write(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp') sf::write_sf(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp') 4.6.4.2 sp Export object x to shapefile using the sf syntax. rgdal is no longer available on CRAN. The sf st_read() / read_sf() / st_write() / write_sf() functions have many arguments, so it is worth spending some time reviewing the associated manual pages. 4.6.5 Interactive mapping with mapview and leaflet The mapview and leaflet packages make it possible to display interactive maps of sf objects in RStudio viewer pane, or within an HTML document generated via R Markdown (e.g. this document). mapview package Basics Advanced Features See other “Articles” in this series, you can make complex, interactive maps using the mapview package. leaflet package leafem: ‘leaflet’ Extensions for ‘mapview’ 4.7 Exercise 2: Map your favorite soil series extents The seriesExtent function in soilDB returns an sf object showing generalized extent polygons for a given soil series. # load required packages, just in case library(soilDB) library(sf) library(mapview) # series extents from SoilWeb (sf objects) pentz <- seriesExtent('pentz') amador <- seriesExtent('amador') # combine into a single object s <- rbind(pentz, amador) # colors used in the map # add more colors as needed cols <- c('royalblue', 'firebrick') # make a simple map, colors set by 'series' column mapview(s, zcol = 'series', col.regions = cols, legend = TRUE) The following code demonstrates how to fetch / convert / map soil series extents, using a vector of soil series names. Results appear in the RStudio “Viewer” pane. Be sure to try the “Export” and “show in window” (next to the broom icon) buttons. # load required packages, just in case library(soilDB) library(sf) library(mapview) # vector of series names, letter case does not matter # try several (2-9)! series.names <- c('auberry', 'sierra', 'holland', 'cagwin') # iterate over series names, get extent # result is a list of sf objects s <- lapply(series.names, soilDB::seriesExtent) # flatten list -> single sf object s <- do.call('rbind', s) # colors used in the map # note trick used to dynamically set the number of colors cols <- RColorBrewer::brewer.pal(n = length(series.names), name = 'Set1') # make a simple map, colors set by 'series' column # click on polygons for details # try pop-out / export buttons mapview(s, zcol = 'series', col.regions = cols, legend = TRUE) Question: What do you notice about the areas where the extent polygons occur? Share your thoughts with your peers or mentor 4.8 Packages for Raster Data 4.8.1 The terra Package The terra package package provides most of the commonly used grid and vector processing functionality that one might find in a conventional GIS. It provides high-level data structures and functions for the GDAL (Geospatial Data Abstraction Library). resampling (terra::resample()) projection and warping (terra::project()) cropping, mosaicing, masking (terra::crop(), terra::mosaic(), terra::merge(), terra::mask()) local and focal functions (terra::local(), terra::focal()) raster algebra (arithmetic operators, terra::xapp()) sampling (terra::spatSample()) contouring (terra::contour()) raster/vector conversions (terra::rasterize(), terra::as.polygons()) terrain analysis (terra::terrain()) model-based prediction and interpolation (terra::predict(), terra::interpolate(); more on this in Part 2) 4.8.1.1 Terra Example This is a brief demonstration using sample data files with terra. # use an example from the terra package f <- system.file("ex", "elev.tif", package = "terra") # corresponding luxembourg vector (polygon) data g <- system.file("ex", "lux.shp", package = "terra") r <- terra::rast(f) r ## class : SpatRaster ## dimensions : 90, 95, 1 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## source : elev.tif ## name : elevation ## min value : 141 ## max value : 547 v <- terra::vect(g) v ## class : SpatVector ## geometry : polygons ## dimensions : 12, 6 (geometries, attributes) ## extent : 5.74414, 6.528252, 49.44781, 50.18162 (xmin, xmax, ymin, ymax) ## source : lux.shp ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## names : ID_1 NAME_1 ID_2 NAME_2 AREA POP ## type : <num> <chr> <num> <chr> <num> <num> ## values : 1 Diekirch 1 Clervaux 312 1.808e+04 ## 1 Diekirch 2 Diekirch 218 3.254e+04 ## 1 Diekirch 3 Redange 259 1.866e+04 # show SpatRaster details print(r) ## class : SpatRaster ## dimensions : 90, 95, 1 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat WGS 84 (EPSG:4326) ## source : elev.tif ## name : elevation ## min value : 141 ## max value : 547 # default plot method plot(r) lines(v) # interactive (leaflet) plot method p <- plet(r, tiles = "OpenTopoMap") lines(p, v) The R object only stores a reference to the data until they are needed to be loaded into memory. This allows for internal raster manipulation algorithms to intelligently deal with very large grids that may not fit in memory. 4.8.1.2 Other approaches to raster data 4.8.1.2.1 raster A more complete background on the capabilities of the raster package, and the replacement terra, are described in the Spatial Data Science with R online book. # convert r to a RasterLayer object r2 <- raster::raster(f) # show RasterLayer details print(r2) ## class : RasterLayer ## dimensions : 90, 95, 8550 (nrow, ncol, ncell) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : 5.741667, 6.533333, 49.44167, 50.19167 (xmin, xmax, ymin, ymax) ## crs : +proj=longlat +datum=WGS84 +no_defs ## source : elev.tif ## names : elevation ## values : 141, 547 (min, max) Introduction to the raster package vignette 4.8.1.2.2 stars There is also a package called stars (Spatiotemporal Arrays: Raster and Vector Datacubes) that is the sf-centric way of dealing with higher dimensional raster and vector “datacubes.” Data cubes have additional dimensions related to time, spectral band, or sensor type. The stars data structures are often used for processing spectral data sources from satellites. 4.8.1.3 Related Links sf package website rspatial.org - Spatial Data Science with R Goodbye PROJ.4 strings! How to specify a coordinate reference system in R? 4.8.2 Converting Vector to Raster 4.8.2.1 terra::rasterize() 4.8.2.2 fasterize::fasterize() 4.8.3 Converting Raster to Vector 4.8.3.1 terra::as.polygons() 4.9 Coordinate Reference Systems (CRS) Spatial data aren’t all that useful without an accurate description of the Coordinate Reference System (CRS). This type of information is typically stored within the “.prj” component of a shapefile, or in the header of a GeoTIFF. Without a CRS it is not possible to perform coordinate transformations (e.g. conversion of geographic coordinates to projected coordinates), spatial overlay (e.g. intersection), or geometric calculations (e.g. distance or area). The “old” way (PROJ.4) of specifying coordinate reference systems is using character strings containing, for example: +proj or +init arguments. In general, this still “works,” so you may encounter it and need to know about it. But you also may encounter cases where CRS are specified using integers, strings of the form authority:code, or well-known text (WKT). Some common examples of coordinate system “EPSG” codes and their legacy “PROJ.4” strings. 4 “EPSG” stands for European Petroleum Survey Group. The “EPSG Geodetic Parameter Dataset” is a public registry of geodetic datums, spatial reference systems, Earth ellipsoids, coordinate transformations and related units of measurement. “OGC” refers to the Open Geospatial Consortium, which is an example of another important authority:code. “ESRI” (company that develops ArcGIS) also defines many CRS codes. “PROJ” is the software responsible for transforming coordinates from one CRS to another. The current version of PROJ available is 9, and in PROJ > 6 major changes were made to the way that coordinate reference systems are defined and transformed led to the “PROJ.4” syntax falling out of favor. EPSG: 4326 / PROJ.4:+proj=longlat +datum=WGS84 - geographic, WGS84 datum (NASIS Standard) OGC:CRS84 - geographic, WGS84 datum (same as above but explicit longitude, latitude XY order) EPSG: 4269 / PROJ.4:+proj=longlat +datum=NAD83 - geographic, NAD83 datum EPSG: 4267 / PROJ.4:+proj=longlat +datum=NAD27 - geographic, NAD27 datum EPSG: 26910 / PROJ.4:+proj=utm +zone=10 +datum=NAD83 - projected (UTM zone 10), NAD83 datum EPSG: 5070 / PROJ.4: +proj=aea +lat_1=29.5 +lat_2=45.5 +lat_0=23.0 +lon_0=-96 +x_0=0 +y_0=0 +datum=NAD83 +units=m +no_defs - Albers Equal Area CONUS (gSSURGO) More on the EPSG codes and specifics of CRS definitions: https://spatialreference.org/ref/epsg/ https://epsg.io/ While you may encounter PROJ.4 strings, these are no longer considered the preferred method of referencing Coordinate Reference Systems – and, in general, newer methods are “easier.” Well-known text (WKT) is a human- machine-readable standard format for geometry, so storing the Coordinate Reference System information in a similar format makes sense. This format is returned by the sf::st_crs() method. For example: the WKT representation of EPSG:4326: st_crs(4326) ## Coordinate Reference System: ## User input: EPSG:4326 ## wkt: ## GEOGCRS["WGS 84", ## ENSEMBLE["World Geodetic System 1984 ensemble", ## MEMBER["World Geodetic System 1984 (Transit)"], ## MEMBER["World Geodetic System 1984 (G730)"], ## MEMBER["World Geodetic System 1984 (G873)"], ## MEMBER["World Geodetic System 1984 (G1150)"], ## MEMBER["World Geodetic System 1984 (G1674)"], ## MEMBER["World Geodetic System 1984 (G1762)"], ## MEMBER["World Geodetic System 1984 (G2139)"], ## MEMBER["World Geodetic System 1984 (G2296)"], ## ELLIPSOID["WGS 84",6378137,298.257223563, ## LENGTHUNIT["metre",1]], ## ENSEMBLEACCURACY[2.0]], ## PRIMEM["Greenwich",0, ## ANGLEUNIT["degree",0.0174532925199433]], ## CS[ellipsoidal,2], ## AXIS["geodetic latitude (Lat)",north, ## ORDER[1], ## ANGLEUNIT["degree",0.0174532925199433]], ## AXIS["geodetic longitude (Lon)",east, ## ORDER[2], ## ANGLEUNIT["degree",0.0174532925199433]], ## USAGE[ ## SCOPE["Horizontal component of 3D system."], ## AREA["World."], ## BBOX[-90,-180,90,180]], ## ID["EPSG",4326]] This is using the OGC WKT CRS standard. Adoption of this standard caused some significant changes in packages in the R ecosystem. So you can get familiar, what follows are several examples of doing the same thing: setting the CRS of spatial objects with WGS84 longitude/latitude geographic coordinates. If you have another target coordinate system, it is just a matter of using the correct codes to identify it. 4.9.1 Assigning and Transforming Coordinate Systems Returning to the example from above, lets assign a CRS to our series extent s using different methods. s <- seriesExtent('san joaquin') The following sections give equivalent sf versus sp syntax. 4.9.1.1 sf Use st_crs<- to set, or st_crs() get CRS of sf objects. Supply the target EPSG code as an integer. # the CRS of s is EPSG:4326 st_crs(s) == st_crs(4326) ## [1] TRUE # set CRS using st_crs<- (replace with identical value) st_crs(s) <- st_crs(4326) Transformation of points, lines, and polygons with sf requires an “origin” CRS be defined in the argument x. The “target” CRS is defined as an integer (EPSG code) in the crs argument or is the output of st_crs(). # transform to UTM zone 10 s.utm <- st_transform(x = s, crs = 26910) # transform to GCS NAD27 s.nad27 <- st_transform(x = s, crs = st_crs(4267)) 4.9.1.2 sp You can do the same thing several different ways with sp objects. An equivalent EPSG, OGC and PROJ.4 can be set or get using proj4string<-/proj4string and either a sp CRS object or a PROJ.4 string for Spatial objects. # s is an sf object (we converted it), convert back to Spatial* object s.sp <- sf::as_Spatial(s) # these all create the same internal sp::CRS object proj4string(s.sp) <- sp::CRS('EPSG:4326') # proj >6; EPSG proj4string(s.sp) <- sp::CRS('OGC:CRS84') # proj >6; OGC proj4string(s.sp) <- '+init=epsg:4326' # proj4 style +init string proj4string(s.sp) <- '+proj=longlat +datum=WGS84' # proj4 style +proj string Here, we do the same transformations we did above only using sp: spTransform(). # transform to UTM zone 10 s.utm <- spTransform(s.sp, CRS('+proj=utm +zone=10 +datum=NAD83')) # transform to GCS NAD27 s.nad27 <- spTransform(s.sp, CRS('+proj=longlat +datum=NAD27')) 4.9.1.3 terra and raster To assign or get the coordinate reference system for raster, terra or sp CRS objects use the crs() functions. r <- terra::rast(system.file("ex", "elev.tif", package="terra")) # inspect CRS terra::crs(r) # r is a SpatRaster object; set CRS to current CRS terra::crs(r) <- terra::crs("OGC:CRS84") “Transforming” or “warping” a raster is a different from with a vector as it requires interpolation of pixels to a target resolution and CRS. The method provided by terra is project() and in raster it is projectRaster(). It works the same as the above “transform” methods in that you specify an object to transform, and the target reference system or a template for the object. t.wgs84 <- terra::project(r, terra::crs("+proj=igh")) r.wgs84 <- raster::projectRaster(raster::raster(r), crs = CRS("+proj=igh")) Note that the default warping of raster uses bilinear interpolation (method='bilinear'), which is appropriate for continuous variables. You also have the option of using nearest-neighbor (method='ngb') for categorical variables (class maps) where interpolation would not make sense. If we want to save this transformed raster to file, we can use something like this for terra terra::writeRaster(t.wgs84, filename='s_wgs84.tif', gdal=c("COMPRESS=LZW")) Similarly for raster: terra::writeRaster(r.wgs84, filename='s_wgs84.tif', gdal=c("COMPRESS=LZW")) 4.10 Load Required Packages Load required packages into a fresh RStudio Session (Ctrl + Shift + F10) library(aqp) library(soilDB) library(sf) library(terra) 4.11 Download Example Data Run the following to create a path for the example data. Be sure to set a valid path to a local disk. # store path as a variable, in case you want to keep it somewhere else ch4.data.path <- 'C:/workspace2/chapter-4' # make a place to store chapter 2b example data dir.create(ch4.data.path, recursive = TRUE) # download polygon example data from github download.file( 'https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_4-spatial-data/chapter-4-mu-polygons.zip', file.path(ch4.data.path, 'chapter-4-mu-polygons.zip') ) # download raster example data from github download.file( 'https://github.com/ncss-tech/stats_for_soil_survey/raw/master/data/chapter_4-spatial-data/chapter-4-PRISM.zip', file.path(ch4.data.path, 'chapter-4-PRISM.zip') ) # unzip unzip( file.path(ch4.data.path, 'chapter-4-mu-polygons.zip'), exdir = ch4.data.path, overwrite = TRUE ) unzip( file.path(ch4.data.path, 'chapter-4-PRISM.zip'), exdir = ch4.data.path, overwrite = TRUE ) 4.12 Load Example MLRA Data We will be using polygons associated with MLRA 15 and 18 as part of this demonstration. Import these data with sf::st_read(). # load MLRA polygons mlra <- sf::st_read(file.path(ch4.data.path, 'mlra-18-15-AEA.shp')) ## alternately, use your own MLRA # mlra <- soilDB::fetchSDA_spatial(c("15", "18"), by.col="MLRARSYM", geom.src = "MLRAPOLYGON") |> sf::st_transform("EPSG:5070") We will load the sample MLRA 15 and 18 (California) raster data (PRISM derived) using terra::rast(). If using your own MLRA, you will need to update file paths to use your own rasters. # mean annual air temperature, Deg C maat <- terra::rast(file.path(ch4.data.path, 'MAAT.tif')) # mean annual precipitation, mm map <- terra::rast(file.path(ch4.data.path, 'MAP.tif')) # frost-free days ffd <- terra::rast(file.path(ch4.data.path, 'FFD.tif')) # growing degree days gdd <- terra::rast(file.path(ch4.data.path, 'GDD.tif')) # percent of annual PPT as rain rain_fraction <- terra::rast(file.path(ch4.data.path, 'rain_fraction.tif')) # annual sum of monthly PPT - ET_p ppt_eff <- terra::rast(file.path(ch4.data.path, 'effective_precipitation.tif')) Sometimes it is convenient to “stack” raster data that share a common grid size, extent, and coordinate reference system into a multilayer terra SpatRaster object. Calling terra::rast() on a list of SpatRaster is equivalent to making a RasterStack from several RasterLayer with raster::stack(). # create a raster stack (multiple rasters aligned) rs <- terra::rast(list(maat, map, ffd, gdd, rain_fraction, ppt_eff)) # inspect rs ## class : SpatRaster ## dimensions : 762, 616, 6 (nrow, ncol, nlyr) ## resolution : 0.008333333, 0.008333333 (x, y) ## extent : -123.2708, -118.1375, 34.44583, 40.79583 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat NAD83 (EPSG:4269) ## sources : MAAT.tif ## MAP.tif ## FFD.tif ## ... and 3 more sources ## names : MAAT, MAP, FFD, GDD, rain_~ction, effec~ation ## min values : -4.073542, 114, 35, 76, 12, -825.5897 ## max values : 18.676420, 2958, 365, 3173, 100, 2782.3914 plot(rs) 4.13 Vector Data 4.13.1 sf p <- sf::st_as_sf(data.frame(x = -120, y = 37.5), coords = c("x", "y"), crs = 4326) p.aea <- st_transform(p, "EPSG:5070") In sf the functions used to do this are st_intersects() or st_intersection(). st_intersects(p.aea, mlra) ## Sparse geometry binary predicate list of length 1, where the predicate was `intersects' ## 1: 2 st_intersection(p.aea, mlra) ## Simple feature collection with 1 feature and 5 fields ## Geometry type: POINT ## Dimension: XY ## Bounding box: xmin: -2079434 ymin: 1870764 xmax: -2079434 ymax: 1870764 ## Projected CRS: NAD83 / Conus Albers ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME ## 1 18 23 Sierra Nevada Foothills C California Subtropical Fruit, Truck, and Specialty Crop Region ## geometry ## 1 POINT (-2079434 1870764) 4.13.2 terra p <- terra::vect(data.frame(x = -120, y = 37.5), geom = c("x", "y"), crs = "EPSG:4326") p.aea <- project(p, "EPSG:5070") In terra the functions used to determine the intersection is relate(). mlra[relate(vect(mlra), p.aea, relation = "intersects"), ] ## Simple feature collection with 1 feature and 5 fields ## Geometry type: POLYGON ## Dimension: XY ## Bounding box: xmin: -2181926 ymin: 1548989 xmax: -1970476 ymax: 2264711 ## Projected CRS: Albers ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME ## 2 18 23 Sierra Nevada Foothills C California Subtropical Fruit, Truck, and Specialty Crop Region ## geometry ## 2 POLYGON ((-2160599 2264711,... 4.13.3 sp In sp objects, you do these operations with the sp::over() function. Access the associated vignette by pasting vignette(\"over\") in the console when the sp package is loaded. # hand make a SpatialPoints object # note that this is GCS p <- SpatialPoints(coords = cbind(-120, 37.5), proj4string = CRS('+proj=longlat +datum=WGS84')) mlra.sp <- sf::as_Spatial(mlra) # spatial extraction of MLRA data requires a CRS transformation p.aea <- spTransform(p, proj4string(mlra.sp)) over(p.aea, mlra.sp) 4.14 Raster Data 4.14.1 Object Properties SpatRaster and RasterLayer objects are similar to sf, sp and other R spatial objects in that they keep track of the linkages between data, coordinate reference system, and optional attribute tables. Getting and setting the contents of raster objects should be performed using functions such as: terra::NAflag(r) / raster::NAvalue(r): get / set the NODATA value terra::crs(r) / raster::wkt(r) : get / set the coordinate reference system terra::res(r) / raster::res(r): get / set the resolution terra::ext(r) / raster::extent(r): get / set the extent terra::datatype(r) / raster::dataType(r): get / set the data type … many more, see the raster and terra package manuals 4.14.2 Rasters “In Memory” v.s. “File-Based” Processing of raster data in memory is always faster than processing on disk, as long as there is sufficient memory. The terra package handles basically all of the logic delegating in v.s. out of memory processing internally–so it is rare that any adjustments to defaults are required. With the raster package, the initial file/disk-based reference can be converted to an in-memory RasterLayer with the readAll() function. You can achieve a similar effect in terra by doing set.values(object). 4.14.3 Writing Rasters to File Exporting data requires consideration of the output format, datatype, encoding of NODATA, and other options such as compression. With terra, “LZW” compression is used by default when writing GeoTIFF files. Using the gdal argument e.g.: terra::writeRaster(..., gdal=) is equivalent to specifying option argument to raster::writeRaster(). # using previous example data set terra::writeRaster(t.wgs84, filename = 't.wgs84.tif') For example, a RasterLayer object that you wanted to save to disk as an internally-compressed GeoTIFF: # using previous example data set raster::writeRaster(r.wgs84, filename = 'r.tif', options = c("COMPRESS=LZW")) 4.14.4 Data Types Commonly used raster datatype include: “unsigned integer”, “signed integer”, and “floating point” of variable precision. INT1U: integers from 0 to 255 INT2U: integers from 0 to 65,534 INT2S: integers from -32,767 to 32,767 INT4S: integers from -2,147,483,647 to 2,147,483,647 FLT4S: floating point from -3.4e+38 to 3.4e+38 FLT8S: floating point from -1.7e+308 to 1.7e+308 It is wise to manually specify an output datatype that will “just fit” the required precision. For example, if you have generated a RasterLayer that warrants integer precision and ranges from 0 to 100, then the INT1U data type would provide enough precision to store all possible values and the NODATA value. Raster data stored as integers will always be smaller (sometimes 10-100x) than those stored as floating point, especially when internal compression is enabled. # integer grid with a range of 0-100 # maybe soil texture classes raster::writeRaster(r, filename = 'r.tif', datatype = 'INT1U') # floating point grid with very wide range # maybe DSM soil property model output terra::writeRaster(t.wgs84, filename = 'r.tif', datatype = 'FLT4S') 4.14.4.1 Notes on Compression It is often a good idea to create internally-compressed raster data. The GeoTiff format can accommodate many different compression algorithms, including lossy (JPEG) compression. Usually, the default “LZW” or “DEFLATE” compression will result in significant savings, especially for data encoded as integers. For example, the CONUS gSSURGO map unit key grid at 30m resolution is about 55Gb (GeoTiff, no compression) vs. 2.4Gb after LZW compression. # reasonable compression using LZW is the default, compare to raster::writeRaster(r, filename='r.tif', options=c("COMPRESS=NONE")) # takes longer to write the file, but better compression terra::writeRaster(t.wgs84, filename='r.tif', gdal=c("COMPRESS=DEFLATE", "PREDICTOR=2", "ZLEVEL=9") See this article for some ideas on optimization of file read/write times and associated compressed file sizes. 4.15 Spatial Operations Spatial data are lot more useful when “related” (overlay, intersect, spatial query, etc.) to generate something new. The CRS of the two objects being overlaid must match. 4.15.1 Working with Vector and Raster Data Typically, spatial queries of raster data by geometry features (point, line, polygon) are performed in two ways: For each geometry, collect all pixels that overlap (exactextractr approach) For each geometry, collect a sample of pixels defined by sampling points The first method ensures that all data are included in the analysis, however, processing can be slow for multiple/detailed rasters, and the results may not fit into memory. The second method is more efficient (10-100x faster), requires less memory, and can remain statistically sound–as long as a reasonable sampling strategy is applied. Sampling may also help you avoid low-acreage “anomalies” in the raster product. More on sampling methods in the next chapter. The extract() function can perform several operations in one call, such as buffering (in projected units) with buffer argument. See the manual page for an extensive listing of optional arguments and what they do. Sampling and extraction with terra the results in a SpatVector object. Sampling and extraction with raster methods results in a matrix object. # sampling single layer SpatRaster terra::spatSample(maat, size = 10) ## MAAT ## 1 NA ## 2 NA ## 3 15.957253 ## 4 4.023703 ## 5 NA ## 6 4.174161 ## 7 8.220895 ## 8 14.803820 ## 9 2.891393 ## 10 14.928577 # sampling SpatRaster terra::spatSample(rs, size = 10) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## 1 6.832082 600 97 1219 74 112.1029 ## 2 14.688772 588 335 2125 98 -132.4685 ## 3 10.302003 234 147 1766 91 -401.6056 ## 4 16.575533 466 348 2594 99 -366.8234 ## 5 11.287305 198 167 1914 92 -489.3656 ## 6 9.689933 991 146 1504 84 375.6698 ## 7 16.063490 488 324 2520 99 -374.9392 ## 8 NA NA NA NA NA NA ## 9 16.513355 566 327 2589 99 -290.5128 ## 10 7.356236 1471 130 1034 69 932.8689 par(mfcol = c(1, 2), mar = c(1, 1, 3, 1)) # regular sampling + extraction of raster values x.regular <- terra::spatSample( maat, method = "regular", size = 100, as.points = TRUE ) x.regular ## class : SpatVector ## geometry : points ## dimensions : 96, 1 (geometries, attributes) ## extent : -123.2667, -118.1417, 34.64167, 40.6 (xmin, xmax, ymin, ymax) ## coord. ref. : lon/lat NAD83 (EPSG:4269) ## names : MAAT ## type : <num> ## values : NA ## 16.41 ## 11 # see also raster::sampleRegular() plot(maat, axes = FALSE, legend = FALSE, main = 'Regular Sampling') points(x.regular) # random sample + extraction of raster values # note that NULL values are removed x.random <- terra::spatSample( maat, size = 100, as.points = TRUE, na.rm = TRUE ) # see also raster::sampleRandom() plot(maat, axes = FALSE, legend = FALSE, main = 'Random Sampling with NA Removal') points(x.random) Note that the mean can be efficiently estimated, even with a relatively small number of samples. # all values: slow for large grids mean(terra::values(maat), na.rm = TRUE) # regular sampling: efficient, central tendency comparable to above mean(x.regular$MAAT, na.rm = TRUE) # this value will be pseudorandom # depends on number of samples, pattern of NA mean(x.random$MAAT, na.rm = TRUE) Just how much variation can we expect when collecting 100, randomly-located samples over such a large area? # 10 replications of samples of n=100 z <- replicate(10, { mean(terra::spatSample(maat, size = 100, na.rm = TRUE)$MAAT, na.rm = TRUE) }) # 90% of the time the mean MAAT values were within: quantile(z, probs = c(0.05, 0.95)) Do the above routine 100 times: compute the mean MAAT from 100 randomly-located samples. Does it make a difference in your estimates? # MLRA polygons in native coordinate system plot(sf::st_geometry(mlra), main = 'MLRA 15 and 18') box() # MAAT raster plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)') # plot MAAT raster with MLRA polygons on top # this requires transforming to CRS of MAAT mlra.gcs <- sf::st_transform(mlra, sf::st_crs(maat)) plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)') plot(sf::st_geometry(mlra.gcs), main = 'MLRA 15 and 18', add = TRUE) 4.16 Exercise 3: Extracting Raster Data 4.16.1 Raster Summary By Point: NASIS Pedon Locations Extract PRISM data at the coordinates associated with NASIS pedons that have been correlated to the Loafercreek series. We will use the sample dataset loafercreek from the soilDB package to get NASIS data. This example can be easily adapted to your own pedon data extracted from NASIS using fetchNASIS(), but if your points are not in California, you will need to supply your own raster data. Get some NASIS data and upgrade the “site” data to a sf object. data("loafercreek", package="soilDB") # result is a SoilProfileCollection object pedons <- loafercreek ## alternately, use fetchNASIS() # pedons <- fetchNASIS() # extract site data s <- sf::st_as_sf(aqp::site(pedons), coords = c("longstddecimaldegrees", "latstddecimaldegrees"), crs = 4326, na.fail = FALSE) Extract PRISM data (the SpatRaster object we made earlier) at the Loafercreek pedon locations and summarize. # convert sf object s to terra SpatVector # and project to CRS of the raster s2 <- project(terra::vect(s), rs) # pass to terra::extract() e <- terra::extract(rs, s2, df = TRUE) # summarize: remove first (ID) column using [, -1] j index summary(e[, -1]) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## Min. :13.15 Min. : 432.0 Min. :189.0 Min. :2085 Min. :96.00 Min. :-433.14 ## 1st Qu.:15.59 1st Qu.: 576.0 1st Qu.:261.2 1st Qu.:2479 1st Qu.:99.00 1st Qu.:-263.46 ## Median :15.99 Median : 682.5 Median :285.0 Median :2540 Median :99.00 Median :-152.00 ## Mean :15.82 Mean : 680.4 Mean :281.0 Mean :2515 Mean :98.81 Mean :-146.05 ## 3rd Qu.:16.24 3rd Qu.: 771.0 3rd Qu.:307.8 3rd Qu.:2592 3rd Qu.:99.00 3rd Qu.: -36.87 ## Max. :16.58 Max. :1049.0 Max. :330.0 Max. :2654 Max. :99.00 Max. : 201.61 Join the extracted PRISM data with the original SoilProfileCollection object. # combine site data (sf) with extracted raster values (data.frame), row-order is identical, result is sf res <- cbind(s, e) # extract unique IDs and PRISM data # dplyr verbs work with sf data.frames res2 <- dplyr::select(res, upedonid, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation) # join with original SoilProfileCollection object via pedon_key site(pedons) <- res2 The extracted values are now part of the “pedons” SoilProfileCollection object via site(<SoilProfileCollection>) <- data.frame LEFT JOIN method. Let’s summarize the data we extracted using quantiles. # define some custom functions for calculating range observed in site data my_low_function <- function(x) quantile(x, probs = 0.05, na.rm = TRUE) my_rv_function <- function(x) median(x, na.rm = TRUE) my_high_function <- function(x) quantile(x, probs = 0.95, na.rm = TRUE) site(pedons) |> dplyr::select(upedonid, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation) |> dplyr::summarize(dplyr::across( MAAT:effective_precipitation, list(low = my_low_function, rv = my_rv_function, high = my_high_function) )) ## MAAT_low MAAT_rv MAAT_high MAP_low MAP_rv MAP_high FFD_low FFD_rv FFD_high GDD_low GDD_rv GDD_high rain_fraction_low ## 1 14.33665 15.98908 16.51595 479.5 682.5 904 220 285 320 2274.75 2540.5 2638.75 97.25 ## rain_fraction_rv rain_fraction_high effective_precipitation_low effective_precipitation_rv effective_precipitation_high ## 1 99 99 -369.3428 -151.9985 94.25339 4.16.2 Raster Summary By Polygon: Series Extent The seriesExtent() function from the soilDB package provides a simple interface to Series Extent Explorer data files. Note that these series extents have been generalized for rapid display at regional to continental scales. A more precise representation of “series extent” can be generated from SSURGO polygons and queried from SDA. Get an approximate extent for the Loafercreek soil series from SEE. See the seriesExtent tutorial and manual page for additional options and related functions. # get (generalized) amador soil series extent from SoilWeb x <- soilDB::seriesExtent(s = 'loafercreek') # convert to EPSG:5070 Albers Equal Area x <- sf::st_transform(x, 5070) Generate 100 sampling points within the extent using a hexagonal grid. These point locations will be used to extract raster values from our SpatRaster of PRISM data. Note that using a “hexagonal” grid is not supported on geographic coordinates. samples <- sf::st_sample(x, size = 100, type = 'hexagonal') For comparison, extract a single point from each SSURGO map unit delineation that contains Loafercreek as a major component. This will require a query to SDA for the set of matching map unit keys (mukey), followed by a second request to SDA for the geometry. The SDA_query function is used to send arbitrary queries written in SQL to SDA, the results may be a data.frame or list, depending on the complexity of the query. The fetchSDA_spatial function returns map unit geometry as either polygons, polygon envelopes, or a single point within each polygon as selected by mukey or nationalmusym. # result is a data.frame mukeys <- soilDB::SDA_query("SELECT DISTINCT mukey FROM component WHERE compname = 'Loafercreek' AND majcompflag = 'Yes';") # result is a sf data.frame loafercreek.pts <- soilDB::fetchSDA_spatial( mukeys$mukey, by.col = 'mukey', method = 'point', chunk.size = 35 ) Graphically check both methods: # prepare samples and mapunit points for viewing on PRISM data hexagonal <- sf::st_transform(samples, sf::st_crs(maat)) x_gcs <- sf::st_transform(x, sf::st_crs(maat)) maatcrop <- terra::crop(maat, x_gcs) # adjust margins and setup plot device for two columns par(mar = c(1, 1, 3, 1), mfcol = c(1, 2)) # first figure plot(maatcrop, main = 'PRISM MAAT\\n100 Sampling Points from Extent', axes = FALSE) plot(sf::st_geometry(x_gcs), add = TRUE) plot(hexagonal, cex = 0.25, add = T) plot(maatcrop, main = 'PRISM MAAT\\n"Loafercreek" Polygon Centroids', axes = FALSE) plot(loafercreek.pts, cex = 0.25, add = TRUE) Extract PRISM data (the SpatRaster object we made earlier) at the sampling locations (100 regularly-spaced and from MU polygon centroids) and summarize. Note that CRS transformations are automatic (when possible), with a warning. # return the result as a data.frame object e <- terra::extract(rs, terra::vect(hexagonal), df = TRUE) e.pts <- terra::extract(rs, terra::vect(loafercreek.pts), df = TRUE) # check out the extracted data summary(e[,-1]) ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## Min. :13.59 Min. : 331.0 Min. :204.0 Min. :2145 Min. :95.00 Min. :-556.93 ## 1st Qu.:15.69 1st Qu.: 513.2 1st Qu.:268.5 1st Qu.:2495 1st Qu.:99.00 1st Qu.:-345.87 ## Median :16.17 Median : 623.0 Median :298.5 Median :2566 Median :99.00 Median :-197.91 ## Mean :15.97 Mean : 649.2 Mean :288.7 Mean :2541 Mean :98.77 Mean :-185.25 ## 3rd Qu.:16.49 3rd Qu.: 775.5 3rd Qu.:314.0 3rd Qu.:2628 3rd Qu.:99.00 3rd Qu.: -39.71 ## Max. :16.98 Max. :1233.0 Max. :335.0 Max. :2735 Max. :99.00 Max. : 373.39 # all pair-wise correlations knitr::kable(cor(e[,-1]), digits = 2) MAAT MAP FFD GDD rain_fraction effective_precipitation MAAT 1.00 -0.59 0.96 0.99 0.80 -0.69 MAP -0.59 1.00 -0.56 -0.64 -0.34 0.99 FFD 0.96 -0.56 1.00 0.94 0.68 -0.66 GDD 0.99 -0.64 0.94 1.00 0.78 -0.74 rain_fraction 0.80 -0.34 0.68 0.78 1.00 -0.43 effective_precipitation -0.69 0.99 -0.66 -0.74 -0.43 1.00 Quickly compare the two sets of samples. # compile results into a list maat.comparison <- list('regular samples' = e$MAAT, 'polygon centroids' = e.pts$MAAT) # number of samples per method lapply(maat.comparison, length) ## $`regular samples` ## [1] 98 ## ## $`polygon centroids` ## [1] 2336 # summary() applied by group lapply(maat.comparison, summary) ## $`regular samples` ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 13.59 15.69 16.17 15.97 16.49 16.98 ## ## $`polygon centroids` ## Min. 1st Qu. Median Mean 3rd Qu. Max. ## 12.70 15.82 16.19 16.02 16.44 17.41 # box-whisker plot par(mar = c(4.5, 8, 3, 1), mfcol = c(1, 1)) boxplot( maat.comparison, horizontal = TRUE, las = 1, xlab = 'MAAT (deg C)', varwidth = TRUE, boxwex = 0.5, main = 'MAAT Comparison' ) Basic climate summaries from a standardized source (e.g. PRISM) might be a useful addition to an OSD, or checking the ranges reported in mapunits. 4.16.3 Raster Summary By Polygon: MLRA The following example is a simplified version of what is available in the soilReports package, reports on the ncss-tech GitHub repository. Efficient summary of large raster data sources can be accomplished using: internally-compressed raster data sources, stored on a local disk, can be in any coordinate system polygons stored in an equal-area or UTM coordinate system, with CRS units of meters fixed-density sampling of polygons estimation of quantiles from collected raster samples Back to our example data. The first step is to check the MLRA polygons (mlra); how many features per MLRA symbol? Note that some MLRA have more than one polygon. table(mlra$MLRARSYM) Convert polygon area from square meters to acres and summarize. Note that this will only make sense when using a projected CRS with units of meters (equal area)! poly.area <- terra::expanse(terra::vect(mlra)) / 4046.86 sf::sf_use_s2(TRUE) poly.area.s2 <- units::set_units(x = sf::st_area(mlra), value = "acre") sf::sf_use_s2(FALSE) poly.area.sf <- units::set_units(x = sf::st_area(mlra), value = "acre") summary(poly.area) sum(poly.area) sum(poly.area.s2) sum(poly.area.sf) Sample each polygon at a constant sampling density of 0.001 samples per acre (1 sample for every 1,000 ac.). At this sampling density we should expect approximately 16,700 samples–more than enough for our simple example. library(sharpshootR) # the next function requires a polygon ID: # each polygon gets a unique number 1--number of polygons mlra$pID <- 1:nrow(mlra) cds <- constantDensitySampling(mlra, n.pts.per.ac = 0.001) Extract MLRA symbol at sample points using the sf::st_intersection() function. The result will be a sf object with attributes from our MLRA polygons which intersect the sampling points (cds). # spatial overlay: sampling points and MLRA polygons res <- sf::st_intersection(sf::st_transform(sf::st_as_sf(cds), sf::st_crs(mlra)), mlra) # row / feature order is preserved, so we can directly copy cds$mlra <- res$MLRARSYM # tabulate number of samples per MLRA table(cds$mlra) ## ## 15 18 ## 11620 5137 Extract values from the SpatVector of PRISM data as a data.frame. e <- terra::extract(rs, terra::project(cds, terra::crs(rs))) # join columns from extracted values and sampling points s.df <- cbind(as(cds, 'data.frame'), e) # check results head(s.df) ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME pID mlra ID ## 1 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 1 ## 2 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 2 ## 3 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 3 ## 4 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 4 ## 5 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 5 ## 6 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Specialty Crop Region 1 15 6 ## MAAT MAP FFD GDD rain_fraction effective_precipitation ## 1 15.19286 1149 306 2303 99 385.6023 ## 2 15.33926 1049 307 2369 99 252.4252 ## 3 15.42254 1041 313 2381 99 242.8284 ## 4 15.44636 1087 308 2382 99 283.1933 ## 5 15.39205 1116 316 2349 99 314.3419 ## 6 15.43280 1058 313 2387 99 258.3234 Summarizing multivariate data by group (MLRA) is usually much simpler after reshaping data from “wide” to “long” format. # reshape from wide to long format m <- tidyr::pivot_longer(s.df, cols = c(MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation)) # check "wide" format head(m) ## # A tibble: 6 × 10 ## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME pID mlra ID name value ## <chr> <int> <chr> <chr> <chr> <int> <chr> <dbl> <chr> <dbl> ## 1 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 MAAT 15.2 ## 2 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 MAP 1149 ## 3 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 FFD 306 ## 4 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 GDD 2303 ## 5 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 rain… 99 ## 6 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 effe… 386. A tabular summary of means by MLRA and PRISM variable using dplyr v.s. base tapply(). # tabular summary of mean values dplyr::group_by(m, mlra, name) %>% dplyr::summarize(mean(value)) %>% dplyr::arrange(name) ## # A tibble: 12 × 3 ## # Groups: mlra [2] ## mlra name `mean(value)` ## <chr> <chr> <dbl> ## 1 15 FFD 284. ## 2 18 FFD 273. ## 3 15 GDD 2387. ## 4 18 GDD 2496. ## 5 15 MAAT 15.2 ## 6 18 MAAT 15.7 ## 7 15 MAP 588. ## 8 18 MAP 631. ## 9 15 effective_precipitation -197. ## 10 18 effective_precipitation -193. ## 11 15 rain_fraction 98.6 ## 12 18 rain_fraction 97.2 # base R tapply(m$value, list(m$mlra, m$name), mean, na.rm = TRUE) ## effective_precipitation FFD GDD MAAT MAP rain_fraction ## 15 -196.8961 284.3748 2386.711 15.24977 587.8348 98.60990 ## 18 -192.9192 273.1376 2496.125 15.66251 631.3798 97.21803 4.16.4 Example: Faster with exactextractr This example shows how to determine the distribution of Frost-Free Days across a soil series extent. The data are extracted from the raster data source very rapidly using the exactextractr package. library(sf) library(soilDB) library(terra) library(lattice) library(exactextractr) # 5-10 seconds to download Series Extent Explorer data series <- c('holland', 'san joaquin') # make SpatialPolygonsDataFrame s <- do.call('rbind', lapply(series, seriesExtent)) # load pointer to PRISM data r <- rast('C:/workspace2/chapter-4/FFD.tif') # transform extent to CRS of raster with sf s <- st_transform(st_as_sf(s), crs = st_crs(r)) # inspect s # use `st_union(s)` to create a MULTI- POINT/LINE/POLYGON from single # use `sf::st_cast(s, 'POLYGON')` to create other types system.time({ ex <- exactextractr::exact_extract(r, s) }) # ex is a list(), with data.frame [value, coverage_fraction] # for each polygon in s (we have one MULTIPOLYGON per series) # combine all list elements `ex` into single data.frame `ex.all` # - use do.call('rbind', ...) to stack data.frames row-wise # - an anonymous function that iterates along length of `ex` # - adding the series name to as a new variable, calculated using `i` ex.all <- do.call('rbind', lapply(seq_along(ex), function(i) { cbind(data.frame(group = series[i]), ex[[i]]) })) # simple summary densityplot(~ value | group, data = ex.all, plot.points = FALSE, bw = 2, lwd = 2, strip = strip.custom(bg = grey(0.85)), scales = list(alternating = 1), col = c('RoyalBlue'), layout = c(1, 2), ylab = 'Density', from = 0, to = 400, xlab = 'Frost-Free Days (50% chance)\\n800m PRISM Data (1981-2010)', main = 'FFD Estimate for Extent of San Joaquin and Holland Series' ) 4.16.5 Example: Summarizing MLRA Raster Data with lattice graphics Lattice graphics are useful for summarizing grouped comparisons. The syntax is difficult to learn and remember, but there is a lot of documentation online. library(lattice) tps <- list( box.rectangle = list(col = 'black'), box.umbrella = list(col = 'black', lty = 1), box.dot = list(cex = 0.75), plot.symbol = list( col = rgb(0.1, 0.1, 0.1, alpha = 0.25, maxColorValue = 1), cex = 0.25 ) ) bwplot(mlra ~ value | name, data = m, # setup plot and data source as.table=TRUE, # start panels in top/left corner varwidth=TRUE, # scale width of box by number of obs scales=list(alternating=3, relation='free'), # setup scales strip=strip.custom(bg=grey(0.9)), # styling for strips par.settings=tps, # apply box/line/point styling panel=function(...) { # within in panel, do the following panel.grid(-1, -1) # make grid lines at all tick marks panel.bwplot(...) # make box-whisker plot } ) 4.17 Additional Reading (Spatial) Ahmed, Zia. 2020. Geospatial Data Science with R. Gimond, M., 2019. Intro to GIS and Spatial Analysis https://mgimond.github.io/Spatial/ Hijmans, R.J. 2019. Spatial Data Science with R. https://rspatial.org/ Lovelace, R., J. Nowosad, and J. Muenchow, 2019. Geocomputation with R. CRC Press. https://bookdown.org/robinlovelace/geocompr/ Pebesma, E., and R.S. Bivand. 2005. Classes and methods for spatial data: The sp package. https://cran.r-project.org/web/packages/sp/vignettes/intro_sp.pdf. Pebesma, E. and R. Bivand, 2019. Spatial Data Science. https://keen-swartz-3146c4.netlify.com/ Applied Spatial Data Analysis with R "],["sampling.html", "Chapter 5 Sampling 5.1 Introduction 5.2 Sampling Strategies 5.3 Evaluating a Sampling Strategy 5.4 Additional Reading (Sampling)", " Chapter 5 Sampling 5.1 Introduction Sampling is a fundamental part of statistics. Samples are collected to achieve an understanding of a population because it is typically not feasible to observe all members of the population. The goal is to collect samples that provide an accurate representation of the population. Constraints on time and money dictate that the sampling effort must be efficient. More samples are needed to characterize the nature of highly variable populations than less variable populations. Define your purpose: What are you investigating? Examples include soil properties, soil classes, and plant productivity. How many samples are needed? The question of how many samples are required is complex. As per usual, the answer is ‘it depends’. For example, it depends on the type of analysis (e.g. non-spatial vs spatial) and properties of the data (e.g. continuous vs categorical). In all cases it requires an understanding/assumptions of the underlying population. If a scientist can estimate the several population variables, formulas exist to estimate the required number of samples. The following are a list of methods for estimating sample size: Standard error Confidence interval Power analysis (hypothesis testing) Distance/time Prediction error Rules of thumb NSSH 627.8 The first 3 methods use formulas for their corresponding statistics to solve for the sample size, each results in progressively higher sample size requirements. The PracTools R package (Valliant and Dever 2022) offers several functions for the 1st and 2nd methods. The pwr (Champely 2020) and WebPower (Zhang and Mai 2021) R packages offer several functions for the 3rd method, based on a variety of statistical models. Gelman, Hill, and Vehtari (2020) provides a nice graphical illustration of the variables involved with these methods. 5.1.1 DSM classes A variation of the 2nd method is described by Congalton and Green (2019) for use with categorical data, which is applicable to digital soil mapping. nMultinomial <- function(k = NULL, p = 0.5, error = 0.1, alpha = 0.05) { # k = number of classes # p = proportion of the largest class # error = margin of error # alpha = confidence level probability ceiling(qchisq(1 - alpha / k, 1) * p * (1 - p) / error^2) } nMultinomial(k = c(10, 20, 30)) ## [1] 197 229 248 nMultinomial(k = 10, error = c(0.05, 0.1, 0.2)) ## [1] 788 197 50 nMultinomial(k = 10, alpha = c(0.05, 0.1, 0.2)) ## [1] 197 166 136 5.1.2 Rules of thumb Some rules of thumb for regression models are as follows: Use > 10 observations (n) per predictor (m) (Kutner et al. (2005)). Use > 20 n per m and n > 104 + m to test regression coefficients (Rossiter 2017; Franklin and Miller 2009). Never use n < 5*m (Rossiter 2017). 5.1.3 NSSH 627.8 Documentation requirement for the following data elements are specified in the section 627.8 of the National Soil Survey Handbook (NSSH). # NSSH 627.8 Documentation # soil series data.frame( level = "soil series", n = c(5, 10), acres = c(2000, 20000) ) ## level n acres ## 1 soil series 5 2000 ## 2 soil series 10 20000 # components data.frame( level = "components", n = 1, acres = 3000 ) ## level n acres ## 1 components 1 3000 # map units data.frame( level = "map unit", n = cumsum(c(30, rep(10, 3))), acres = c(2000, seq(from = 4000, by = 4000, length.out = 3)) ) ## level n acres ## 1 map unit 30 2000 ## 2 map unit 40 4000 ## 3 map unit 50 8000 ## 4 map unit 60 12000 5.2 Sampling Strategies library(sf) library(ggplot2) # set the seed for the random number generator set.seed(4) # Create a sixteen square polygon bb <- st_make_grid(st_bbox(c(xmin = 0, xmax = 6, ymin = 0, ymax = 6)), n = 6) grd <- st_as_sf(bb) grd$ID <- 1:length(bb) 5.2.1 Simple Random In simple random sampling, all samples within the region have an equal chance of being selected. A simple random selection of points can be made using either the st_sample() function within the sf R package or the Create Random Points tool in ArcGIS. Advantages Simple Unbiased (equal probability of inclusion) Requires little prior knowledge of the population Howell et al. (2004) - produced a “much more sensitive, more accurate, and greater range of estimated values” than the models from the subjective samples Disadvantages Inefficient (requires large numbers) Lower accuracy Higher cost Samples may not be representative of the feature attribute(s) Uneven spatial distribution (e.g. clustered) # Generate simple random sample test <- st_sample(grd, size = 16, type = "random") ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Simple") 5.2.2 Systematic In systematic sampling, a sample is taken according to a regularized pattern. This approach ensures even spatial coverage. Patterns may be rectilinear, triangular, or hexagonal. This sampling strategy can be inaccurate if the variation in the population doesn’t coincide with the regular pattern (e.g., if the population exhibits periodicity). Advantages Simple Precise estimates Even spatial coverage Greater efficiency Disadvantages Biased estimates (particularly sampling variance) May miss individuals that don’t coincide with the sampling interval If so, the density needs to be increased Limited utility for areas larger than a single field Grid may not optimally fit irregular shapes # Generate systematic random sample test <- st_sample(grd, size = 16, type = "regular") ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Systematic") 5.2.3 Stratified Random In stratified random sampling, the sampling region is spatially subset into different strata, and random sampling is applied to each strata. If prior information is available about the study area, it can be used to develop the strata. Strata may be sampled equally or in proportion to area; however, if the target of interest is rare in the population, it may be preferable to sample the strata equally Franklin and Miller (2009)]. Advantages More efficient than simple-random Higher accuracy Lower cost Sampling can be sized relative to proportion or variance Disadvantages Require pre-existing knowledge of the population (which may be flawed) If sampling is uneven, weights need to be known May need to construct the strata manually grd2 <- st_cast(grd, "MULTIPOLYGON") st_crs(grd2) <- 5070 test <- st_sample(grd2, size = 16, type = "random", by_polygon = TRUE) ggplot() + geom_sf(data = grd2) + geom_sf(data = test) + ggtitle("Stratified") Note that the spsample() function only stratifies the points spatially. Other more sophisticated designs can be implemented using the spsurvey, sharpshootR, or clhs packages. 5.2.4 Multistage Stratified Random In multistage random sampling, the region is separated into different subsets that are randomly selected (i.e., first stage), and then the selected subsets are randomly sampled (i.e., second stage). This is similar to stratified random sampling, except that with stratified random sampling each strata is sampled. Advantages Most efficient Lower cost Sampling can be sized relative to proportion or variance Disadvantages Less precise Uneven spatial distribution (e.g. clustered) Require pre-existing knowledge of the population (which may be flawed) If sampling is uneven, weights need to be known May need to construct the strata manually # Select 8 samples from each square idx <- sample(1:nrow(grd), size = 2, replace = FALSE) grd_sub <- grd[idx, ] test <- sapply(1:2, function(i) { st_coordinates(st_sample(grd_sub[i, ], size = 8, type = "random")) }) test <- st_as_sf(as.data.frame(test), coords = 1:2) ggplot() + geom_sf(data = grd) + geom_sf(data = test) + ggtitle("Two-stage") 5.2.5 Spatial Coverage Sampling (e.g. k-means clustering) # spcosa ---- library(spcosa) grd2 <- st_crs(grd, NA) grd_sp <- as(grd, "Spatial") strata <- stratify(grd_sp, nStrata = 16) pts <- spsample(strata) plot(strata, pts) + ggtitle("Spatial Coverage") 5.2.6 Covariate space coverage sampling (e.g. k-means clustering) Covariate space coverage sampling is a stratified sampling technique to obtain representative samples from feature (attribute) space (Brus 2022). Advantages Maximumly stratifies the predictors Automated sample selection Can incorporates cost constraints Ideal for developing map unit concepts (puts points in central landscape positions) Can incorporate legacy points Easily scales to multiple GIS layers Disadvantages Not ideal for map validation (non – probability sample) Inefficient with large GIS layers library(sf) library(terra) source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R") # import volcano DEM, details at http://geomorphometry.org/content/volcano-maungawhau data("volcano") volcano_r <- rast( volcano[87:1, 61:1], crs = crs("+init=epsg:27200"), extent = c( xmin = 2667405, xmax = 2667405 + 61 * 10, ymin = 6478705, ymax = 6478705 + 87 * 10 ) ) names(volcano_r) <- "elev" # calculate slope from the DEM slope_r <- terrain(volcano_r, v = "slope", unit = "degrees") # Stack Elevation and Slope rs <- c(volcano_r, slope_r) # Covariate Space Coverage Sampling source("https://raw.githubusercontent.com/ncss-tech/stats_for_soil_survey/master/exercises/fcsc.R") fs <- cscs(rs, vars = c("elev", "slope"), n = 20) fs_sf <- st_as_sf(fs, coords = c("x", "y"), crs = crs(rs)) # Plot CSCS Samples plot(volcano_r, axes=FALSE) points(fs_sf) 5.2.7 Conditioned Latin Hypercube (cLHS) Conditioned Latin hypercube sampling is a stratified random sampling technique to obtain representative samples from feature (attribute) space (Minasny and McBratney 2006). Advantages Maximumly stratifies the predictors Automated sample selection Incorporates cost constraints Can incorporate legacy points Easily scales to multiple GIS layers Disadvantages Not ideal for map validation (non – probability sample) Not ideal for developing map unit concepts (puts points in weird landscape positions) Difficult to find alternatives for non-accessible points Inefficient with large GIS layers For example, assume you have prior knowledge of a study area and have the time and resources to collect 120 points. You also know the following variables (strata), which are represented as coregistered raster datasets, to be of importance to the soil property or class being investigated: Normalized Difference Vegetation Index (NDVI), Topographic Wetness Index (a.k.a. Wetness Index, compound topographic index), Solar insolation (potential incoming solar radiation), and Relative elevation (a.k.a. relative position, normalized slope height). The cLHS procedure iteratively selects samples from the strata variables such that they replicate the range of values from each stratum. Without a technique such as cLHS, obtaining a sample that is representative of the feature space becomes increasingly difficult as the number of variables (strata) increases. To perform cLHS using R, you can use the clhs package (Roudier 2011). rs2 <- raster::stack(rs) library(clhs) # generate cLHS design cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE) # Plot cLHS Samples par(mar=c(1,1,1,4)) plot(volcano_r, axes=FALSE) points(cs$sampled_data) # Summary of clhs object summary(cs$sampled_data)$data ## elev slope ## Min. : 95.0 Min. : 0.000 ## 1st Qu.:108.8 1st Qu.: 6.701 ## Median :124.5 Median :12.979 ## Mean :130.5 Mean :14.420 ## 3rd Qu.:150.2 3rd Qu.:20.459 ## Max. :184.0 Max. :33.197 ## NA's :1 # Summary of raster objects cbind(summary(volcano_r), summary(slope_r)[1:6]) ## elev ## "Min. : 94.0 " "Min. : 0.000 " ## "1st Qu.:108.0 " "1st Qu.: 7.054 " ## "Median :124.0 " "Median :14.103 " ## "Mean :130.2 " "Mean :14.897 " ## "3rd Qu.:150.0 " "3rd Qu.:21.666 " ## "Max. :195.0 " "Max. :43.032 " Although the above example works well on our small volcano dataset, the clhs package is inefficient if you are working with large raster datasets. To overcome this limitation, you can first take a large random sample and then subsample it using cLHS. sub_s <- spatSample(rs, size = 200, as.points = TRUE) |> st_as_sf() # random sample function from the raster package s <- clhs(sub_s, size = 20, progress = FALSE, simple = FALSE) 5.3 Evaluating a Sampling Strategy To gauge the representativeness of a sampling strategy, you can compare the results it produces to the results for other variables you think might coincide with the soil properties or classes of interest (Hengl 2009). Examples include slope gradient, slope aspect, and vegetative cover. These other variables may be used to stratify the sampling design or to assess the representativeness of our existing samples (e.g., NASIS pedons). The simple example below demonstrates how to compare several sampling strategies by evaluating how well they replicate the distribution of elevation. # set seed set.seed(1234) # create a polygon from the spatial extent of the volcano dataset test <- st_make_grid(ext(volcano_r), n = 1) # take a large random sample sr400 <- spatSample(rs, size = 1000, method = "random", as.points = TRUE) # take a small random sample sr <- spatSample(rs, size = 20, method = "random", as.points = TRUE) # take a small systematic random sample sys <- spatSample(rs, size = 20, method = "regular", as.points = TRUE) # take a cLHS sample cs <- clhs(rs2, size = 20, progress = FALSE, simple = FALSE) # take a CSCS sample fs <- cscs(rs, vars = c("elev", "slope"), n = 20) # Combind and Extract Samples s <- rbind( data.frame(method = "Simple Random 400", as.data.frame(sr400)), data.frame(method = "Simple Random", as.data.frame(sr)), data.frame(method = "Systematic Random", as.data.frame(sys)), data.frame(method = "cLHS", slot(cs$sampled_data, 'data')), data.frame(method = "CSCS", fs[c("elev", "slope")]) ) # Summarize the sample values aggregate(slope ~ method, data = s, function(x) round(summary(x))) ## method slope.Min. slope.1st Qu. slope.Median slope.Mean slope.3rd Qu. slope.Max. ## 1 cLHS 3 8 15 16 21 32 ## 2 CSCS 1 7 15 16 24 36 ## 3 Simple Random 0 14 17 18 22 34 ## 4 Simple Random 400 0 6 14 15 22 43 ## 5 Systematic Random 0 6 12 13 17 34 # Plot overlapping density plots to compare the distributions between the large and small samples ggplot(s, aes(x = slope, col = method)) + geom_density(cex = 2) # plot the spatial locations par(mfrow = c(2, 2), mar = c(1,2,4,5)) plot(volcano_r, main = "Simple random", cex.main = 2, axes=FALSE) points(sr, pch = 3, cex = 1.2) plot(volcano_r, main = "Systematic random", cex.main = 2, axes=FALSE) points(sys, pch = 3, cex = 1.2) plot(volcano_r, main = "cLHS", cex.main = 2, axes=FALSE) points(cs$sampled_data, pch = 3, cex = 1.2) plot(volcano_r, main = "CSCS", cex.main = 2, axes=FALSE) points(fs_sf, pch = 3, cex = 1.2) The overlapping density plots above illustrate the differences between large and small sets of samples using several sampling designs. The cLHS approach best duplicates the distribution of elevation (because elevation is explicitly used in the stratification process). The contrast is less severe in the summary metrics, but again cLHS more closely resembles the larger sample. Other comparisons are possible using the approaches in the following chapters. 5.3.1 Exercise: Design a Sampling Strategy Load the “tahoe_lidar_highesthit.tif” dataset in the gdalUtilities package (i.e. tahoe <- terra::rast(system.file(\"extdata/tahoe.tif\", package = \"gdalUtilities\"))) or use your own data set. Compare two or more sampling approaches and evaluate how representative they are. Show your work and submit the results to your mentor. 5.4 Additional Reading (Sampling) Brungard, C., & Johanson, J. (2015). The gate’s locked! I can’t get to the exact sampling spot … can I sample nearby? Pedometron(37), 8-9. http://www.pedometrics.org/Pedometron/Pedometron37.pdf Brus, D.J. and J.J. de Gruijter. “Random sampling or geostatistical modelling? Choosing between design-based and model-based sampling strategies for soil (with discussion).” Geoderma. Vol. 80. 1. Elsevier, 1997. 1-44. https://www.sciencedirect.com/science/article/pii/S0016706197000724 Brus, Dick J. Spatial Sampling with R. First edition, CRC Press, 2022, https://github.com/DickBrus/SpatialSamplingwithR. de Gruijter, J., D.J. Brus, M.F.P. Bierkens, and M. Knotters. 2006. Sampling for natural resource monitoring: Springer. http://www.springer.com/us/book/9783540224860. Viscarra Rossel, R.A., et al. “Baseline estimates of soil organic carbon by proximal sensing: Comparing design-based, model-assisted and model-based inference.” Geoderma 265 (2016): 152-163. https://www.sciencedirect.com/science/article/pii/S0016706115301312 References Brus, Dick J. 2022. Spatial Sampling with R. 1st ed. Boca Raton: Chapman; Hall/CRC. https://doi.org/10.1201/9781003258940. Champely, Stephane. 2020. “Pwr: Basic Functions for Power Analysis.” https://CRAN.R-project.org/package=pwr. Congalton, Russell G., and Kass Green. 2019. “Thematic Map Accuracy Assessment Considerations.” In Assessing the Accuracy of Remotely Sensed Data, 3rd ed., 77–106. CRC Press. https://doi.org/10.1201/9780429052729-6. Franklin, Janet, and Jennifer A Miller. 2009. Mapping Species Distributions: Spatial Inference and Prediction. Cambridge; New York: Cambridge University Press. https://doi.org/10.1017/CBO9780511810602. Gelman, Andrew, Jennifer Hill, and Aki Vehtari. 2020. “16 - Design and Sample Size Decisions.” In Regression and Other Stories, 1st ed., 291–312. Cambridge University Press. https://doi.org/10.1017/9781139161879. Hengl, Tomislav. 2009. A Practical Guide to Geostatistical Mapping. 2nd extended ed. Amsterdam: Hengl. http://spatial-analyst.net/book/. Kutner, Michael H., Christopher J. Nachtsheism, John Neter, and William Li. 2005. Applied Linear Statistical Models. 5th ed. The McGraw-Hill/Irwin Series Operations and Decision Sciences. Boston: McGraw-Hill Irwin. Minasny, Budiman, and Alex B. McBratney. 2006. “A Conditioned Latin Hypercube Method for Sampling in the Presence of Ancillary Information.” Computers & Geosciences 32 (9): 1378–88. https://doi.org/10.1016/j.cageo.2005.12.009. Rossiter, D. G. 2017. “Sampling for Natural Resources and Environmental Modelling and Monitoring.” Enschede, Netherlands: University of Twente. http://www.css.cornell.edu/faculty/dgr2/teach/index.html. Roudier, Pierre. 2011. Clhs: A r Package for Conditioned Latin Hypercube Sampling. https://cran.r-project.org/web/packages/clhs/. Valliant, Richard, and Jill A. Dever. 2022. “PracTools: Tools for Designing and Weighting Survey Samples.” https://CRAN.R-project.org/package=PracTools. Zhang, Zhiyong, and Yujiao Mai. 2021. “WebPower: Basic and Advanced Statistical Power Analysis.” https://CRAN.R-project.org/package=WebPower. "],["references.html", "References", " References Arnold, R. W., and L. P. Wilding. 1991. “The Need to Quantify Spatial Variability.” In SSSA Special Publications, edited by M. J. Mausbach and L. P. Wilding, 1–8. Madison, WI, USA: Soil Science Society of America. https://doi.org/10.2136/sssaspecpub28.c1. Boyd, Claude E., Craig S. Tucker, and Rawee Viriyatum. 2011. “Interpretation of pH, Acidity, and Alkalinity in Aquaculture and Fisheries.” North American Journal of Aquaculture 73 (4): 403–8. https://doi.org/10.1080/15222055.2011.620861. Brevik, Eric C., Jeffrey A. Homburg, Bradley A. Miller, Thomas E. Fenton, James A. Doolittle, and Samuel J. Indorante. 2016. “Selected Highlights in American Soil Science History from the 1980s to the Mid-2010s.” CATENA 146 (November): 128–46. https://doi.org/10.1016/j.catena.2016.06.021. Brus, Dick J. 2022. Spatial Sampling with R. 1st ed. Boca Raton: Chapman; Hall/CRC. https://doi.org/10.1201/9781003258940. Champely, Stephane. 2020. “Pwr: Basic Functions for Power Analysis.” https://CRAN.R-project.org/package=pwr. Chaney, Nathaniel W., Eric F. Wood, Alexander B. McBratney, Jonathan W. Hempel, Travis W. Nauman, Colby W. Brungard, and Nathan P. Odgers. 2016. “POLARIS: A 30-Meter Probabilistic Soil Series Map of the Contiguous United States.” Geoderma 274: 54–67. https://doi.org/10.1016/j.geoderma.2016.03.025. Congalton, Russell G., and Kass Green. 2019. “Thematic Map Accuracy Assessment Considerations.” In Assessing the Accuracy of Remotely Sensed Data, 3rd ed., 77–106. CRC Press. https://doi.org/10.1201/9780429052729-6. Franklin, Janet, and Jennifer A Miller. 2009. Mapping Species Distributions: Spatial Inference and Prediction. Cambridge; New York: Cambridge University Press. https://doi.org/10.1017/CBO9780511810602. Gelman, Andrew, Jennifer Hill, and Aki Vehtari. 2020. “16 - Design and Sample Size Decisions.” In Regression and Other Stories, 1st ed., 291–312. Cambridge University Press. https://doi.org/10.1017/9781139161879. Hengl, Tomislav. 2009. A Practical Guide to Geostatistical Mapping. 2nd extended ed. Amsterdam: Hengl. http://spatial-analyst.net/book/. Hennemann, G R, and D G Rossiter. 2004. “Training Needs for the Next Generation of Soil Surveyors.” In International Conference on Innovative Techniques in Soil Survey, Cha’am, Thailand, 21-26 March 2004, 22–26. Cha-Am, Thailand: Land Development Department. http://www.css.cornell.edu/faculty/dgr2/Docs/ChaAm/ChaAmKeynoteHennemann.pdf. Ihaka, Ross, and Robert Gentleman. 1996. “R: A Language for Data Analysis and Graphics.” Journal of Computational and Graphical Statistics 5 (3): 299–314. https://doi.org/10.1080/10618600.1996.10474713. Kempen, Bas, Dick J. Brus, Jetse J. Stoorvogel, Gerard B. M. Heuvelink, and Folkert de Vries. 2012. “Efficiency Comparison of Conventional and Digital Soil Mapping for Updating Soil Maps.” Soil Science Society of America Journal 76 (6): 2097–2115. https://doi.org/https://doi.org/10.2136/sssaj2011.0424. Kutner, Michael H., Christopher J. Nachtsheism, John Neter, and William Li. 2005. Applied Linear Statistical Models. 5th ed. The McGraw-Hill/Irwin Series Operations and Decision Sciences. Boston: McGraw-Hill Irwin. MacMillan, Robert A., David E. Moon, and Ray A. Coupé. 2007. “Automated Predictive Ecological Mapping in a Forest Region of b.c., Canada, 2001–2005.” Geoderma 140 (4): 353–73. https://doi.org/10.1016/j.geoderma.2007.04.027. Mausbach, M. J. 2003. “The Importance of Statistical Documentation - Keeping Soil Survey Information Relevant in the 21st Century.” In 2003 National Cooperative Soil Survey Conference, 3–6. Plymouth, Massachusetts: National Cooperative Soil Survey. https://web.archive.org/web/20220121020421/https://www.nrcs.usda.gov/Internet/FSE_DOCUMENTS/nrcs142p2_051833.pdf. Maynard, Jonathan J., Travis W. Nauman, Shawn W. Salley, Brandon T. Bestelmeyer, Michael C. Duniway, Curtis J. Talbot, and Joel R. Brown. 2019. “Digital Mapping of Ecological Land Units Using a Nationally Scalable Modeling Framework.” Soil Science Society of America Journal 83 (3): 666–66. https://doi.org/10.2136/sssaj2018.09.0346. Minasny, Budiman, and Alex B. McBratney. 2006. “A Conditioned Latin Hypercube Method for Sampling in the Presence of Ancillary Information.” Computers & Geosciences 32 (9): 1378–88. https://doi.org/10.1016/j.cageo.2005.12.009. Ramcharan, Amanda, Tomislav Hengl, Travis Nauman, Colby Brungard, Sharon Waltman, Skye Wills, and James Thompson. 2018. “Soil Property and Class Maps of the Conterminous United States at 100-Meter Spatial Resolution.” Soil Science Society of America Journal 82 (1): 186–201. https://doi.org/https://doi.org/10.2136/sssaj2017.04.0122. Rossiter, D. G. 2017. “Sampling for Natural Resources and Environmental Modelling and Monitoring.” Enschede, Netherlands: University of Twente. http://www.css.cornell.edu/faculty/dgr2/teach/index.html. Roudier, Pierre. 2011. Clhs: A r Package for Conditioned Latin Hypercube Sampling. https://cran.r-project.org/web/packages/clhs/. Tukey, John Wilder. 1977. Exploratory Data Analysis. Addison-Wesley Series in Behavioral Science. Reading, Mass: Addison-Wesley Pub. Co. https://archive.org/details/exploratorydataa0000tuke_7616. Valliant, Richard, and Jill A. Dever. 2022. “PracTools: Tools for Designing and Weighting Survey Samples.” https://CRAN.R-project.org/package=PracTools. Webster, R. 2001. “Statistics to Support Soil Research and Their Presentation.” European Journal of Soil Science 52 (2): 331–40. https://doi.org/10.1046/j.1365-2389.2001.00383.x. Zhang, Zhiyong, and Yujiao Mai. 2021. “WebPower: Basic and Advanced Statistical Power Analysis.” https://CRAN.R-project.org/package=WebPower. "],["404.html", "Page not found", " Page not found The page you requested cannot be found (perhaps it was moved or renamed). You may want to try searching to find the page's new location, or use the table of contents to find the page you are looking for. "]] diff --git a/book/spatial.html b/book/spatial.html index 8dfcc8c9..7ca54ac2 100644 --- a/book/spatial.html +++ b/book/spatial.html @@ -23,7 +23,7 @@ - + @@ -218,42 +218,41 @@
  113. 1.3.3 Packages
  114. 1.4 RStudio: An Integrated Development Environment (IDE) for R
  115. -
  116. 1.5 Rcmdr (R Commander): A Graphical User Interface for R
  117. -
  118. 1.6 R basics
  119. -
  120. 1.7 Managing Packages +
  121. 1.5 R basics
  122. +
  123. 1.6 Managing Packages
  124. -
  125. 1.8 Getting Help
  126. -
  127. 1.9 Documenting your work +
  128. 1.7 Getting Help
  129. +
  130. 1.8 Documenting your work
  131. -
  132. 1.10 Organizing your work +
  133. 1.9 Organizing your work
  134. -
  135. 1.11 Saving your work
  136. -
  137. 1.12 Exercise 1
  138. -
  139. 1.13 Loading Data
  140. -
  141. 1.14 Data manipulation +
  142. 1.10 Saving your work
  143. +
  144. 1.11 Exercise 1
  145. +
  146. 1.12 Loading Data
  147. +
  148. 1.13 Data manipulation
  149. -
  150. 1.15 Exercise 2
  151. -
  152. 1.16 Review
  153. -
  154. 1.17 Additional Reading (Introduction)
  155. +
  156. 1.14 Exercise 2
  157. +
  158. 1.15 Review
  159. +
  160. 1.16 Additional Reading (Introduction)
  161. 2 The Data We Use
  162. 5 Sampling
      @@ -456,36 +464,37 @@

      Chapter 4 Spatial Data in R

      -

      This chapter is a brief demonstration of possible ways to process spatial data in R.

      +

      This chapter is a brief demonstration of possible ways to process spatial data in R. This will help you to develop a strategy for selecting spatial data processing methods.

      4.1 Objectives (Spatial Data)

        -
      • Gain experience with creating, editing, and exporting spatial data objects in R.
      • -
      • Learn about making maps with R
      • -
      • Learn the basics of sf and sp representation of vector data
      • -
      • Learn the basics of terra classes and functions
      • +
      • Gain experience creating, editing, and exporting spatial data objects in R.

        +
          +
        • Learn the basics of sf package for vector (points, lines, polygons) data
        • +
        • Learn the basics of terra classes and functions for vector and raster data
        • Learn about some interfaces to NCSS spatial data sources
        • -
        • Develop a strategy for navigating the many possible spatial data processing methods
        • +
      • +
      • Create maps with R

      The next sections will require loading these libraries into the R session.

      -
      # SPC and soil database interface
      -library(aqp)
      -library(soilDB)
      -
      -# "Simple Feature" (vector) data structures 
      -library(sf)
      -
      -# superseded by sf -- spatial object classes e.g. SpatialPoints/SpatialPolygons
      -library(sp)
      -
      -# gridded data management / analysis
      -library(terra)
      -
      -# superseded by terra
      -library(raster)
      -
      -# interactive maps with leaflet
      -library(mapview)
      +
      # SPC and soil database interface
      +library(aqp)
      +library(soilDB)
      +
      +# "Simple Feature" (vector) data structures 
      +library(sf)
      +
      +# superseded by sf -- spatial object classes e.g. SpatialPoints/SpatialPolygons
      +library(sp)
      +
      +# gridded data management / analysis
      +library(terra)
      +
      +# superseded by terra
      +# library(raster)
      +
      +# interactive maps with leaflet
      +library(mapview)

      There are many packages available for working with spatial data, however we only have time to cover introducing a few common libraries.

      A couple resources are linked here for 5 packages that provide different ways displaying spatial data graphically:

        @@ -501,9 +510,9 @@

        4.1 Objectives (Spatial Data)4.2 Making Maps with R

        R has become a powerful tool for visualization and interaction with spatial data. There are many tools available for making maps with R! It is not all geostatistics and coordinate reference system transformations. There are powerful ways to automate your GIS workflow from beginning to end–from creating terrain derivatives from a source DEM, to high-quality, publication-ready maps and interactive HTML/JavaScript widgets.

        +

        An excellent resource for making maps with R is the chapter in “Geocomputation with R”

      @@ -513,22 +522,20 @@

      4.3 Spatial Data SourcesGeoJSON, WKT, or point coordinates include:

        -
      • NASIS/LIMS reports: typically point coordinates
      • -
      • Web pages: GeoJSON, WKT, or point coordinates
      • -
      • Excel file: typically point coordinates
      • -
      • CSV files: typically point coordinates
      • -
      • Photo EXIF information: typically point coordinates
      • +
      • NASIS/LIMS reports
      • +
      • Web pages and Web Services
      • +
      • Excel and CSV files
      • +
      • Photo EXIF information

      Here are some R-based interfaces to NCSS data sources via soilDB package.

      • Functions that return tabular data which can be upgraded to spatial data:

          -
        • fetchNASIS(): NASIS “site” data contain x,y,

        • -
        • fetchLDM(): KSSL “site” data from Lab Data Mart contain x,y coordinates

        • -
        • fetchKSSL(): KSSL “site” data from SoilWeb contain x,y coordinates -coordinates

        • +
        • fetchNASIS(): NASIS “site” data contain longitude, latitude

        • +
        • fetchLDM(): KSSL “site” data from Lab Data Mart contain longitude, latitude coordinates

        • +
        • fetchKSSL(): KSSL “site” data from SoilWeb contain longitude, latitude coordinates coordinates

      • Functions that return spatial data:

          @@ -543,94 +550,97 @@

          4.3 Spatial Data Sources

          4.4 Viewing Pedon Locations

          -

          ( Introducing the sf package with mapview)

          +

          In this section we will introuduce the sf package with mapview.

          4.4.1 Plotting Geographic Data

          -

          Plotting the data as an R graphic can give you some idea of how data look spatially and whether their distribution is what you expect.

          -

          Typos are relatively common when coordinates are manually entered. Viewing the data spatially is a quick way to see if any points plot far outside of the geographic area of interest and therefore clearly have an error.

          -
          # plot the locations of the gopheridge pedons with R
          -# 
          -# Steps:
          -# 1) create and inspect an sf data.frame object
          -# 2) plot the data with mapview
          -
          -# load libraries
          -library(aqp)
          -library(soilDB)
          -library(sf)
          -library(mapview)
          -
          -# this creates sample gopheridge object in your environment
          -data("gopheridge", package = "soilDB")
          -
          -# replace gopheridge object with fetchNASIS() (your data)
          -# gopheridge <- fetchNASIS()
          -
          -# create simple features POINT geometry data.frame
          -# st_as_sf(): convert data.frame to spatial simple features, with points in $geometry 
          -# st_crs(): set EPSG:4326 Coordinate Reference System (CRS) as Well-Known Text (WKT)
          -gopher.locations <- st_as_sf(
          -  site(gopheridge), 
          -  coords = c('x_std','y_std'),
          -  crs = st_crs(4326)
          -)
          -
          -# create interactive map with sfc_POINT object
          -#  use site_id in sf data.frame as labels
          -mapview(gopher.locations, label = gopher.locations$site_id)
          -
          - +

          Making maps of data gives you some idea how data look spatially and whether their distribution is what you expect.

          +

          Typos are relatively common when coordinates are manually entered. Viewing the data spatially is a quick way to see if any points plot far outside of the expected geographic area of interest.

          +
          # plot the locations of the gopheridge pedons with R
          +# 
          +# Steps:
          +# 1) create and inspect an sf data.frame object
          +# 2) plot the data with mapview
          +
          +# load libraries
          +library(aqp)
          +library(soilDB)
          +library(sf)
          +library(mapview)
          +
          +# this creates sample gopheridge object in your environment
          +data("gopheridge", package = "soilDB")
          +
          +# replace gopheridge object with fetchNASIS() (your data)
          +# gopheridge <- fetchNASIS()
          +
          +# create simple features POINT geometry data.frame
          +# st_as_sf(): convert data.frame to spatial simple features, with points in $geometry 
          +# st_crs(): set EPSG:4326 Coordinate Reference System (CRS) as Well-Known Text (WKT)
          +gopher.locations <- st_as_sf(
          +  site(gopheridge), 
          +  coords = c('longstddecimaldegrees','latstddecimaldegrees'),
          +  crs = st_crs(4326)
          +)
          +
          +# create interactive map with sfc_POINT object
          +#  use site_id in sf data.frame as labels
          +mapview(gopher.locations, label = gopher.locations$site_id)
          +
          +
          -
          -

          4.4.2 Exercise 1: Spatial Intro

          +
          +
          +

          4.5 Exercise 1: Pedon Locations

          In this exercise, you will create an interactive map with the pedons in your selected set. Then you will export them to a shapefile. Modify the code snippets below to make an R plot and a shapefile of pedon data loaded from your NASIS selected set. You will plot pedon locations using the standard WGS84 longitude/latitude decimal degrees fields from Site table of NASIS. In some cases, these data might be incomplete; you need to handle this possibility.

          -

          In this exercise you will create a subset SoilProfileCollection for the pedons that are not missing spatial data (x_std and y_std).

          +

          In this exercise you will create a subset SoilProfileCollection for the pedons that are not missing spatial data (longstddecimaldegrees and latstddecimaldegrees).

          1. Make a new R script, load the aqp, soilDB, sf and mapview packages and some pedons via fetchNASIS() (or similar source).
          -
          library(aqp)
          -library(soilDB)
          -library(sf)
          -library(mapview)
          -
          -# get pedons from the selected set
          -pedons <- fetchNASIS(from = 'pedons')
          +
          library(aqp)
          +library(soilDB)
          +library(sf)
          +library(mapview)
          +
          +# get pedons from the selected set
          +pedons <- fetchNASIS(from = 'pedons')
          1. Use the base R subset() function to create a subset of your SoilProfileCollection using is.na()
            -
          • x_std and y_std variables contain WGS84 longitude and latitude in decimal degrees. This is the standard format for location information used in NASIS.
          • +
          • longstddecimaldegrees and latstddecimaldegrees variables contain WGS84 longitude and latitude in decimal degrees. This is the standard format for location information used in NASIS.
          -
          # modify this code (replace ...) to create a subset
          -pedons.sp  <- aqp::subset(pedons, ...)
          +
          # modify this code (replace ...) to create a subset
          +pedons.sp  <- aqp::subset(pedons, ...)
          1. Create a sf data.frame from the site data in the SoilProfileCollection object pedons.sp using aqp::site(). Replace the ... in the following code. Promoting a data.frame to sf POINT geometry requires that the X and Y columns be specified.
          -
          pedon.locations <- sf::st_as_sf(
          -  ..., 
          -  coords = c('x_std', 'y_std'),
          -  crs = sf::st_crs(4326) #WGS84 GCS
          -)
          +
          pedon.locations <- sf::st_as_sf(
          +  ..., 
          +  coords = c('longstddecimaldegrees', 'latstddecimaldegrees'),
          +  crs = sf::st_crs(4326) #WGS84 GCS
          +)
          1. View your sf object pedon.locations interactively with mapview::mapview(), and change the map.types argument to 'Esri.WorldImagery'. Use the pedon.locations column named site_id for the label argument.
          -
          # plot an interactive map
          -mapview(pedon.locations, 
          -        legend = FALSE, 
          -        map.types = 'OpenStreetMap',
          -        ...)
          +
          # plot an interactive map
          +mapview(pedon.locations, 
          +        legend = FALSE, 
          +        map.types = 'OpenStreetMap',
          +        ...)
            -
          1. Create a subset sf data.frame with only the following “site data” columns: pedlabsampnum, pedon_id, taxonname, hillslopeprof, elev_field, slope_field, aspect_field, plantassocnm, bedrckdepth, bedrckkind, pmkind, pmorigin. Select the target columns with dplyr::select() (or another method) by replacing the ... in the following code.
          2. +
          3. Create a subset sf data.frame with only the following “site data” columns: pedlabsampnum, upedonid, taxonname, hillslopeprof, elev_field, slope_field, aspect_field, plantassocnm, bedrckdepth, bedrckkind, pmkind, pmorigin. Select the target columns with dplyr::select() (or another method) by replacing the ... in the following code.
          -
          pedon.locations_sub <- dplyr::select(pedon.locations, ...) 
          -# see also base::subset(x, select=...)
          +
          pedon.locations_sub <- dplyr::select(pedon.locations, ...) 
          +# see also base::subset(x, select=...)
          1. Export the spatial information in pedon.locations_sub to a shape file (.shp) with sf::st_write()
          -
          # write to SHP; output CRS is geographic coordinate system WGS84
          -sf::st_write(pedon.locations_sub, "./NASIS-pedons.shp")
          -

          For an example of exporting data to shapefile with the sp package, see this tutorial: Export Pedons to Shapefile with sp. -

          -

      -
      -

      4.5 Many Packages, Many Spatial Representations

      -
      -

      4.5.1 The sf package

      +
      +

      4.6 Packages for Vector Data

      +
      +

      4.6.1 The sf package

      Simple Features Access is a set of standards that specify a common storage and access model of geographic features. It is used mostly for two-dimensional geometries such as point, line, polygon, multi-point, multi-line, etc.

      This is one of many ways of modeling the geometry of shapes in the real world. This model happens to be widely adopted in the R ecosystem via the sf package, and very convenient for typical data encountered by soil survey operations.

      The sf package represents the latest and greatest in spatial data processing within the comfort of an R session. It provides a “main” object class sf to contain geometric data and associated tabular data in a familiar data.frame format. sf methods work on a variety of different levels of abstraction and manipulation of those geometries.

      Most of the sf package functions start with the prefix st_, such as: st_crs() (get/set coordinate reference system), st_transform() (project feature class to different coordinate reference system), st_bbox() (bounding box), st_buffer() (buffer). Many of these are “verbs” that are common GIS operations.

      -
      -

      4.5.1.1 sf vignettes

      +
      +

      4.6.1.1 sf vignettes

      You can the following sf package vignettes for details, sample data sets and usage of sf objects.

      1. Simple Features for R

      2. @@ -664,8 +673,8 @@

        4.5.1.1 sf vignettes

      -
      -

      4.5.2 The sp Package

      +
      +

      4.6.2 The sp Package

      The data structures (“classes”) and functions provided by the sp package have served a foundational role in the handling of spatial data in R for years.

      Many of the following examples will reference names such as SpatialPoints, SpatialPointsDataFrame, and SpatialPolygonsDataFrame. These are specialized (S4) classes implemented by the sp package.

      Objects of these classes maintain linkages between all of the components of spatial data. For example, a point, line, or polygon feature will typically be associated with:

      @@ -676,32 +685,32 @@

      4.5.2 The sp Package
    • attribute table
  163. -
    -

    4.5.3 Converting sp and sf

    +
    +

    4.6.3 Converting sp and sf

    sp provides access to the same compiled code libraries (PROJ, GDAL, GEOS) through sf package.

    For now the different package object types are interchangeable, and you may find yourself having to do this for a variety of reasons. You can convert between object types as needed using sf::as_Spatial() or sf::st_as_sf().

    Check the documentation (?functionname) to figure out what object types different methods need as input; and check an input object’s class with class() or inherits().

    -
    -

    4.5.4 Importing / Exporting Vector Data

    +
    +

    4.6.4 Importing / Exporting Vector Data

    Import a feature class from a ESRI File Geodatabase or shape file.

    If you have a .shp file, you can specify the whole path, including the file extension in the dsn argument, or just the folder.

    For a Geodatabase, you should specify the feature class using the layer argument. Note that a trailing “/” is omitted from the dsn (data source name) and the “.shp” suffix is omitted from the layer.

    -
    -

    4.5.4.1 sf

    -
    x <- sf::st_read(dsn = 'E:/gis_data/ca630/FG_CA630_OFFICIAL.gdb', layer = 'ca630_a')
    -x <- sf::read_sf(dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    -
    sf::st_write(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    -sf::write_sf(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    +
    +

    4.6.4.1 sf

    +
    x <- sf::st_read(dsn = 'E:/gis_data/ca630/FG_CA630_OFFICIAL.gdb', layer = 'ca630_a')
    +x <- sf::read_sf(dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    +
    sf::st_write(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    +sf::write_sf(x, dsn = 'E:/gis_data/ca630/pedon_locations.shp')
    -
    -

    4.5.4.2 sp

    +
    +

    4.6.4.2 sp

    Export object x to shapefile using the sf syntax. rgdal is no longer available on CRAN.

    The sf st_read() / read_sf() / st_write() / write_sf() functions have many arguments, so it is worth spending some time reviewing the associated manual pages.

    -
    -

    4.5.5 Interactive mapping with mapview and leaflet

    +
    +

    4.6.5 Interactive mapping with mapview and leaflet

    The mapview and leaflet packages make it possible to display interactive maps of sf objects in RStudio viewer pane, or within an HTML document generated via R Markdown (e.g. this document).

    -
    -

    4.5.6 Exercise 2: Map your favorite soil series extents

    +
    +
    +

    4.7 Exercise 2: Map your favorite soil series extents

    The seriesExtent function in soilDB returns an sf object showing generalized extent polygons for a given soil series.

    -
    # load required packages, just in case
    -library(soilDB)
    -library(sf)
    -library(mapview)
    -
    -# series extents from SoilWeb (sf objects)
    -pentz <- seriesExtent('pentz')
    -amador <- seriesExtent('amador')
    -
    -# combine into a single object
    -s <- rbind(pentz, amador)
    -
    # colors used in the map
    -# add more colors as needed
    -cols <- c('royalblue', 'firebrick')
    -
    -# make a simple map, colors set by 'series' column
    -mapview(s, zcol = 'series', col.regions = cols, legend = TRUE)
    -
    - +
    # load required packages, just in case
    +library(soilDB)
    +library(sf)
    +library(mapview)
    +
    +# series extents from SoilWeb (sf objects)
    +pentz <- seriesExtent('pentz')
    +amador <- seriesExtent('amador')
    +
    +# combine into a single object
    +s <- rbind(pentz, amador)
    +
    # colors used in the map
    +# add more colors as needed
    +cols <- c('royalblue', 'firebrick')
    +
    +# make a simple map, colors set by 'series' column
    +mapview(s, zcol = 'series', col.regions = cols, legend = TRUE)
    +
    +

    The following code demonstrates how to fetch / convert / map soil series extents, using a vector of soil series names.

    Results appear in the RStudio “Viewer” pane. Be sure to try the “Export” and “show in window” (next to the broom icon) buttons.

    -
    # load required packages, just in case
    -library(soilDB)
    -library(sf)
    -library(mapview)
    -
    -# vector of series names, letter case does not matter
    -# try several (2-9)!
    -series.names <- c('auberry', 'sierra', 'holland', 'cagwin')
    -
    -# iterate over series names, get extent
    -# result is a list of sf objects
    -s <- lapply(series.names, soilDB::seriesExtent)
    -
    -# flatten list -> single sf object
    -s <- do.call('rbind', s)
    -
    -# colors used in the map
    -# note trick used to dynamically set the number of colors
    -cols <- RColorBrewer::brewer.pal(n = length(series.names), name = 'Set1')
    -
    -# make a simple map, colors set by 'series' column
    -# click on polygons for details
    -# try pop-out / export buttons
    -mapview(s, zcol = 'series', col.regions = cols, legend = TRUE)
    +
    # load required packages, just in case
    +library(soilDB)
    +library(sf)
    +library(mapview)
    +
    +# vector of series names, letter case does not matter
    +# try several (2-9)!
    +series.names <- c('auberry', 'sierra', 'holland', 'cagwin')
    +
    +# iterate over series names, get extent
    +# result is a list of sf objects
    +s <- lapply(series.names, soilDB::seriesExtent)
    +
    +# flatten list -> single sf object
    +s <- do.call('rbind', s)
    +
    +# colors used in the map
    +# note trick used to dynamically set the number of colors
    +cols <- RColorBrewer::brewer.pal(n = length(series.names), name = 'Set1')
    +
    +# make a simple map, colors set by 'series' column
    +# click on polygons for details
    +# try pop-out / export buttons
    +mapview(s, zcol = 'series', col.regions = cols, legend = TRUE)

    Question: What do you notice about the areas where the extent polygons occur? Share your thoughts with your peers or mentor

    -
    -

    4.5.7 The terra Package

    +
    +

    4.8 Packages for Raster Data

    +
    +

    4.8.1 The terra Package

    The terra package package provides most of the commonly used grid and vector processing functionality that one might find in a conventional GIS. It provides high-level data structures and functions for the GDAL (Geospatial Data Abstraction Library).

    -
    # use an example from the terra package
    -f <- system.file("ex", "elev.tif", package = "terra")
    -
    -# corresponding luxembourg vector (polygon) data
    -g <- system.file("ex", "lux.shp", package = "terra")
    -
    -r <- terra::rast(f)
    -r
    +
    +

    4.8.1.1 Terra Example

    +

    This is a brief demonstration using sample data files with terra.

    +
    # use an example from the terra package
    +f <- system.file("ex", "elev.tif", package = "terra")
    +
    +# corresponding luxembourg vector (polygon) data
    +g <- system.file("ex", "lux.shp", package = "terra")
    +
    +r <- terra::rast(f)
    +r
    ## class       : SpatRaster 
     ## dimensions  : 90, 95, 1  (nrow, ncol, nlyr)
     ## resolution  : 0.008333333, 0.008333333  (x, y)
    @@ -796,8 +811,8 @@ 

    4.5.7 The terra Pack ## name : elevation ## min value : 141 ## max value : 547

    -
    v <- terra::vect(g)
    -v
    +
    v <- terra::vect(g)
    +v
    ##  class       : SpatVector 
     ##  geometry    : polygons 
     ##  dimensions  : 12, 6  (geometries, attributes)
    @@ -809,11 +824,8 @@ 

    4.5.7 The terra Pack ## values : 1 Diekirch 1 Clervaux 312 1.808e+04 ## 1 Diekirch 2 Diekirch 218 3.254e+04 ## 1 Diekirch 3 Redange 259 1.866e+04

    -
    # convert r to a RasterLayer object
    -r2 <- raster::raster(f)
    -
    -# show SpatRaster details
    -print(r)
    +
    # show SpatRaster details
    +print(r)
    ## class       : SpatRaster 
     ## dimensions  : 90, 95, 1  (nrow, ncol, nlyr)
     ## resolution  : 0.008333333, 0.008333333  (x, y)
    @@ -823,8 +835,28 @@ 

    4.5.7 The terra Pack ## name : elevation ## min value : 141 ## max value : 547

    -
    # show RasterLayer details
    -print(r2) 
    +
    # default plot method
    +plot(r)
    +lines(v)
    +

    +
    # interactive (leaflet) plot method
    +p <- plet(r, tiles = "OpenTopoMap")
    +
    +lines(p, v)
    +
    + +

    The R object only stores a reference to the data until they are needed to be loaded into memory. This allows for internal raster manipulation algorithms to intelligently deal with very large grids that may not fit in memory.

    +
    +
    +

    4.8.1.2 Other approaches to raster data

    +
    +
    4.8.1.2.1 raster
    +

    A more complete background on the capabilities of the raster package, and the replacement terra, are described in the Spatial Data Science with R online book.

    +
    # convert r to a RasterLayer object
    +r2 <- raster::raster(f)
    +
    +# show RasterLayer details
    +print(r2) 
    ## class      : RasterLayer 
     ## dimensions : 90, 95, 8550  (nrow, ncol, ncell)
     ## resolution : 0.008333333, 0.008333333  (x, y)
    @@ -833,31 +865,15 @@ 

    4.5.7 The terra Pack ## source : elev.tif ## names : elevation ## values : 141, 547 (min, max)

    -
    # default plot method
    -plot(r)
    -lines(v)
    -

    -
    # interactive (leaflet) plot method
    -p <- plet(r, tiles = "OpenTopoMap")
    -
    -lines(p, v)
    -
    - -

    The R object only stores a reference to the data until they are needed to be loaded into memory. This allows for internal raster manipulation algorithms to intelligently deal with very large grids that may not fit in memory.

    -
    -

    4.5.7.1 Other approaches to raster data

    -
    -
    4.5.7.1.1 raster
    -

    A more complete background on the capabilities of the raster package, and the replacement terra, are described in the Spatial Data Science with R online book.

    Introduction to the raster package vignette

    -
    -
    4.5.7.1.2 stars
    -

    There is also a package called stars (Spatiotemporal Arrays: Raster and Vector Datacubes) that is the sf-centric way of dealing with higher dimensional raster and vector “datacubes.” Data cubes have dimensions related to time, spectral band, and sensor. The stars data structures are often used for processing satellite data sources.

    +
    +
    4.8.1.2.2 stars
    +

    There is also a package called stars (Spatiotemporal Arrays: Raster and Vector Datacubes) that is the sf-centric way of dealing with higher dimensional raster and vector “datacubes.” Data cubes have additional dimensions related to time, spectral band, or sensor type. The stars data structures are often used for processing spectral data sources from satellites.

    -

    +
    # sampling SpatRaster
    +terra::spatSample(rs, size = 10)
    +
    ##         MAAT  MAP FFD  GDD rain_fraction effective_precipitation
    +## 1   6.832082  600  97 1219            74                112.1029
    +## 2  14.688772  588 335 2125            98               -132.4685
    +## 3  10.302003  234 147 1766            91               -401.6056
    +## 4  16.575533  466 348 2594            99               -366.8234
    +## 5  11.287305  198 167 1914            92               -489.3656
    +## 6   9.689933  991 146 1504            84                375.6698
    +## 7  16.063490  488 324 2520            99               -374.9392
    +## 8         NA   NA  NA   NA            NA                      NA
    +## 9  16.513355  566 327 2589            99               -290.5128
    +## 10  7.356236 1471 130 1034            69                932.8689
    +
    par(mfcol = c(1, 2), mar = c(1, 1, 3, 1))
    +
    +# regular sampling + extraction of raster values
    +x.regular <-  terra::spatSample(
    +  maat,
    +  method = "regular",
    +  size = 100,
    +  as.points = TRUE
    +)
    +x.regular
    ##  class       : SpatVector 
     ##  geometry    : points 
     ##  dimensions  : 96, 1  (geometries, attributes)
    @@ -1266,97 +1285,98 @@ 

    4.12.1 Working with Vector and Ra ## values : NA ## 16.41 ## 11

    -
    # see also raster::sampleRegular()
    -
    -plot(maat,
    -     axes = FALSE,
    -     legend = FALSE,
    -     main = 'Regular Sampling')
    -points(x.regular)
    -
    -# random sample + extraction of raster values
    -# note that NULL values are removed
    -x.random <- terra::spatSample(
    -  maat,
    -  size = 100,
    -  as.points = TRUE,
    -  na.rm = TRUE
    -)
    -
    -# see also raster::sampleRandom()
    -
    -plot(maat,
    -     axes = FALSE,
    -     legend = FALSE,
    -     main = 'Random Sampling with NA Removal')
    -points(x.random)
    +
    # see also raster::sampleRegular()
    +
    +plot(maat,
    +     axes = FALSE,
    +     legend = FALSE,
    +     main = 'Regular Sampling')
    +points(x.regular)
    +
    +# random sample + extraction of raster values
    +# note that NULL values are removed
    +x.random <- terra::spatSample(
    +  maat,
    +  size = 100,
    +  as.points = TRUE,
    +  na.rm = TRUE
    +)
    +
    +# see also raster::sampleRandom()
    +
    +plot(maat,
    +     axes = FALSE,
    +     legend = FALSE,
    +     main = 'Random Sampling with NA Removal')
    +points(x.random)

    Note that the mean can be efficiently estimated, even with a relatively small number of samples.

    -
    # all values: slow for large grids
    -mean(terra::values(maat), na.rm = TRUE)
    -
    -# regular sampling: efficient, central tendency comparable to above
    -mean(x.regular$MAAT, na.rm = TRUE)
    -
    -# this value will be pseudorandom
    -#  depends on number of samples, pattern of NA
    -mean(x.random$MAAT, na.rm = TRUE)
    +
    # all values: slow for large grids
    +mean(terra::values(maat), na.rm = TRUE)
    +
    +# regular sampling: efficient, central tendency comparable to above
    +mean(x.regular$MAAT, na.rm = TRUE)
    +
    +# this value will be pseudorandom
    +#  depends on number of samples, pattern of NA
    +mean(x.random$MAAT, na.rm = TRUE)

    Just how much variation can we expect when collecting 100, randomly-located samples over such a large area?

    -
    # 10 replications of samples of n=100
    -z <- replicate(10, {
    -  mean(terra::spatSample(maat,
    -                         size = 100,
    -                         na.rm = TRUE)$MAAT,
    -       na.rm = TRUE)
    -})
    -
    -# 90% of the time the mean MAAT values were within:
    -quantile(z, probs = c(0.05, 0.95))
    +
    # 10 replications of samples of n=100
    +z <- replicate(10, {
    +  mean(terra::spatSample(maat,
    +                         size = 100,
    +                         na.rm = TRUE)$MAAT,
    +       na.rm = TRUE)
    +})
    +
    +# 90% of the time the mean MAAT values were within:
    +quantile(z, probs = c(0.05, 0.95))

    Do the above routine 100 times: compute the mean MAAT from 100 randomly-located samples. Does it make a difference in your estimates?

    -
    # MLRA polygons in native coordinate system
    -plot(sf::st_geometry(mlra), main = 'MLRA 15 and 18')
    -box()
    +
    # MLRA polygons in native coordinate system
    +plot(sf::st_geometry(mlra), main = 'MLRA 15 and 18')
    +box()

    -
    # MAAT raster
    -plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)')
    -
    -# plot MAAT raster with MLRA polygons on top
    -# this requires transforming to CRS of MAAT
    -mlra.gcs <- sf::st_transform(mlra, sf::st_crs(maat))
    -plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)')
    -plot(sf::st_geometry(mlra.gcs), main = 'MLRA 15 and 18', add = TRUE)
    +
    # MAAT raster
    +plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)')
    +
    +# plot MAAT raster with MLRA polygons on top
    +# this requires transforming to CRS of MAAT
    +mlra.gcs <- sf::st_transform(mlra, sf::st_crs(maat))
    +plot(maat, main = 'PRISM Mean Annual Air Temperature (deg C)')
    +plot(sf::st_geometry(mlra.gcs), main = 'MLRA 15 and 18', add = TRUE)

    -
    -

    4.12.2 Exercise 3: Extracting Raster Data

    -
    -

    4.12.2.1 Raster Summary By Point: NASIS Pedon Locations

    +
    +
    +

    4.16 Exercise 3: Extracting Raster Data

    +
    +

    4.16.1 Raster Summary By Point: NASIS Pedon Locations

    Extract PRISM data at the coordinates associated with NASIS pedons that have been correlated to the Loafercreek series.

    We will use the sample dataset loafercreek from the soilDB package to get NASIS data. This example can be easily adapted to your own pedon data extracted from NASIS using fetchNASIS(), but if your points are not in California, you will need to supply your own raster data.

    Get some NASIS data and upgrade the “site” data to a sf object.

    -
    data("loafercreek", package="soilDB")
    -
    -# result is a SoilProfileCollection object
    -pedons <- loafercreek
    -
    -## alternately, use fetchNASIS()
    -# pedons <- fetchNASIS()
    -
    -# extract site data
    -s <-  sf::st_as_sf(aqp::site(pedons),
    -                   coords = c("x_std", "y_std"),
    -                   crs = 4326,
    -                   na.fail = FALSE)
    +
    data("loafercreek", package="soilDB")
    +
    +# result is a SoilProfileCollection object
    +pedons <- loafercreek
    +
    +## alternately, use fetchNASIS()
    +# pedons <- fetchNASIS()
    +
    +# extract site data
    +s <-  sf::st_as_sf(aqp::site(pedons),
    +                   coords = c("longstddecimaldegrees", "latstddecimaldegrees"),
    +                   crs = 4326,
    +                   na.fail = FALSE)

    Extract PRISM data (the SpatRaster object we made earlier) at the Loafercreek pedon locations and summarize.

    -
    # convert sf object s to terra SpatVector
    -# and project to CRS of the raster
    -s2 <- project(terra::vect(s), rs)
    -
    -# pass to terra::extract()
    -e <- terra::extract(rs, s2, df = TRUE)
    -
    -# summarize: remove first (ID) column using [, -1] j index
    -summary(e[, -1])
    +
    # convert sf object s to terra SpatVector
    +# and project to CRS of the raster
    +s2 <- project(terra::vect(s), rs)
    +
    +# pass to terra::extract()
    +e <- terra::extract(rs, s2, df = TRUE)
    +
    +# summarize: remove first (ID) column using [, -1] j index
    +summary(e[, -1])
    ##       MAAT            MAP              FFD             GDD       rain_fraction   effective_precipitation
     ##  Min.   :13.15   Min.   : 432.0   Min.   :189.0   Min.   :2085   Min.   :96.00   Min.   :-433.14        
     ##  1st Qu.:15.59   1st Qu.: 576.0   1st Qu.:261.2   1st Qu.:2479   1st Qu.:99.00   1st Qu.:-263.46        
    @@ -1365,99 +1385,96 @@ 

    4.12.2.1 Raster Summary By Point: ## 3rd Qu.:16.24 3rd Qu.: 771.0 3rd Qu.:307.8 3rd Qu.:2592 3rd Qu.:99.00 3rd Qu.: -36.87 ## Max. :16.58 Max. :1049.0 Max. :330.0 Max. :2654 Max. :99.00 Max. : 201.61

    Join the extracted PRISM data with the original SoilProfileCollection object.

    -
    # combine site data (sf) with extracted raster values (data.frame), row-order is identical, result is sf
    -res <- cbind(s, e)
    -
    -# extract unique IDs and PRISM data
    -# dplyr verbs work with sf data.frames
    -res2 <- dplyr::select(res, pedon_id, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation)
    -
    -# join with original SoilProfileCollection object via pedon_key
    -site(pedons) <- res2
    +
    # combine site data (sf) with extracted raster values (data.frame), row-order is identical, result is sf
    +res <- cbind(s, e)
    +
    +# extract unique IDs and PRISM data
    +# dplyr verbs work with sf data.frames
    +res2 <- dplyr::select(res, upedonid, MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation)
    +
    +# join with original SoilProfileCollection object via pedon_key
    +site(pedons) <- res2

    The extracted values are now part of the “pedons” SoilProfileCollection object via site(<SoilProfileCollection>) <- data.frame LEFT JOIN method.

    Let’s summarize the data we extracted using quantiles.

    -
    # define some custom functions for calculating range observed in site data
    -my_low_function <- function(x) quantile(x, probs = 0.05, na.rm = TRUE)
    -my_rv_function <- function(x) median(x, na.rm = TRUE)
    -my_high_function <- function(x) quantile(x, probs = 0.95, na.rm = TRUE)
    -
    -site(pedons) |> 
    -  dplyr::select(pedon_id, MAAT, MAP, FFD, GDD,
    -                rain_fraction, effective_precipitation) |> 
    -  dplyr::summarize(dplyr::across(
    -    MAAT:effective_precipitation,
    -    list(low = my_low_function,
    -         rv = my_rv_function,
    -         high = my_high_function)
    -  ))
    -
    ##   MAAT_low  MAAT_rv MAAT_high MAP_low MAP_rv MAP_high FFD_low FFD_rv FFD_high GDD_low GDD_rv GDD_high
    -## 1 14.33665 15.98908  16.51595   479.5  682.5      904     220    285      320 2274.75 2540.5  2638.75
    -##   rain_fraction_low rain_fraction_rv rain_fraction_high effective_precipitation_low effective_precipitation_rv
    -## 1             97.25               99                 99                   -369.3428                  -151.9985
    -##   effective_precipitation_high
    -## 1                     94.25339
    +
    # define some custom functions for calculating range observed in site data
    +my_low_function <- function(x) quantile(x, probs = 0.05, na.rm = TRUE)
    +my_rv_function <- function(x) median(x, na.rm = TRUE)
    +my_high_function <- function(x) quantile(x, probs = 0.95, na.rm = TRUE)
    +
    +site(pedons) |> 
    +  dplyr::select(upedonid, MAAT, MAP, FFD, GDD,
    +                rain_fraction, effective_precipitation) |> 
    +  dplyr::summarize(dplyr::across(
    +    MAAT:effective_precipitation,
    +    list(low = my_low_function,
    +         rv = my_rv_function,
    +         high = my_high_function)
    +  ))
    +
    ##   MAAT_low  MAAT_rv MAAT_high MAP_low MAP_rv MAP_high FFD_low FFD_rv FFD_high GDD_low GDD_rv GDD_high rain_fraction_low
    +## 1 14.33665 15.98908  16.51595   479.5  682.5      904     220    285      320 2274.75 2540.5  2638.75             97.25
    +##   rain_fraction_rv rain_fraction_high effective_precipitation_low effective_precipitation_rv effective_precipitation_high
    +## 1               99                 99                   -369.3428                  -151.9985                     94.25339
    -
    -

    4.12.2.2 Raster Summary By Polygon: Series Extent

    -

    The seriesExtent() function from the soilDB package provides a simple interface to Series Extent Explorer data files. -Note that these series extents have been generalized for rapid display at regional to continental scales. A more precise representation of “series extent” can be generated from SSURGO polygons and queried from SDA.

    +
    +

    4.16.2 Raster Summary By Polygon: Series Extent

    +

    The seriesExtent() function from the soilDB package provides a simple interface to Series Extent Explorer data files. Note that these series extents have been generalized for rapid display at regional to continental scales. A more precise representation of “series extent” can be generated from SSURGO polygons and queried from SDA.

    Get an approximate extent for the Loafercreek soil series from SEE. See the seriesExtent tutorial and manual page for additional options and related functions.

    -
    # get (generalized) amador soil series extent from SoilWeb
    -x <- soilDB::seriesExtent(s = 'loafercreek')
    -
    -# convert to EPSG:5070 Albers Equal Area
    -x <- sf::st_transform(x, 5070)
    +
    # get (generalized) amador soil series extent from SoilWeb
    +x <- soilDB::seriesExtent(s = 'loafercreek')
    +
    +# convert to EPSG:5070 Albers Equal Area
    +x <- sf::st_transform(x, 5070)

    Generate 100 sampling points within the extent using a hexagonal grid. These point locations will be used to extract raster values from our SpatRaster of PRISM data. Note that using a “hexagonal” grid is not supported on geographic coordinates.

    -
    samples <- sf::st_sample(x, size = 100, type = 'hexagonal')
    +
    samples <- sf::st_sample(x, size = 100, type = 'hexagonal')

    For comparison, extract a single point from each SSURGO map unit delineation that contains Loafercreek as a major component. This will require a query to SDA for the set of matching map unit keys (mukey), followed by a second request to SDA for the geometry.

    The SDA_query function is used to send arbitrary queries written in SQL to SDA, the results may be a data.frame or list, depending on the complexity of the query. The fetchSDA_spatial function returns map unit geometry as either polygons, polygon envelopes, or a single point within each polygon as selected by mukey or nationalmusym.

    -
    # result is a data.frame
    -mukeys <- soilDB::SDA_query("SELECT DISTINCT mukey FROM component
    -                             WHERE compname = 'Loafercreek' AND majcompflag = 'Yes';")
    -
    -# result is a sf data.frame
    -loafercreek.pts <- soilDB::fetchSDA_spatial(
    -  mukeys$mukey,
    -  by.col = 'mukey',
    -  method = 'point',
    -  chunk.size = 35
    -)
    +
    # result is a data.frame
    +mukeys <- soilDB::SDA_query("SELECT DISTINCT mukey FROM component
    +                             WHERE compname = 'Loafercreek' AND majcompflag = 'Yes';")
    +
    +# result is a sf data.frame
    +loafercreek.pts <- soilDB::fetchSDA_spatial(
    +  mukeys$mukey,
    +  by.col = 'mukey',
    +  method = 'point',
    +  chunk.size = 35
    +)

    Graphically check both methods:

    -
    # prepare samples and mapunit points for viewing on PRISM data
    -hexagonal <- sf::st_transform(samples, sf::st_crs(maat))
    -x_gcs <- sf::st_transform(x, sf::st_crs(maat))
    -maatcrop <- terra::crop(maat, x_gcs)
    -
    # adjust margins and setup plot device for two columns
    -par(mar = c(1, 1, 3, 1), mfcol = c(1, 2))
    -
    -# first figure
    -plot(maatcrop,
    -     main = 'PRISM MAAT\n100 Sampling Points from Extent',
    -     axes = FALSE)
    -plot(sf::st_geometry(x_gcs), add = TRUE)
    -plot(hexagonal, cex = 0.25, add = T)
    -
    -plot(maatcrop,
    -     main = 'PRISM MAAT\n"Loafercreek" Polygon Centroids',
    -     axes = FALSE)
    -plot(loafercreek.pts, cex = 0.25, add = TRUE)
    +
    # prepare samples and mapunit points for viewing on PRISM data
    +hexagonal <- sf::st_transform(samples, sf::st_crs(maat))
    +x_gcs <- sf::st_transform(x, sf::st_crs(maat))
    +maatcrop <- terra::crop(maat, x_gcs)
    +
    # adjust margins and setup plot device for two columns
    +par(mar = c(1, 1, 3, 1), mfcol = c(1, 2))
    +
    +# first figure
    +plot(maatcrop,
    +     main = 'PRISM MAAT\n100 Sampling Points from Extent',
    +     axes = FALSE)
    +plot(sf::st_geometry(x_gcs), add = TRUE)
    +plot(hexagonal, cex = 0.25, add = T)
    +
    +plot(maatcrop,
    +     main = 'PRISM MAAT\n"Loafercreek" Polygon Centroids',
    +     axes = FALSE)
    +plot(loafercreek.pts, cex = 0.25, add = TRUE)

    Extract PRISM data (the SpatRaster object we made earlier) at the sampling locations (100 regularly-spaced and from MU polygon centroids) and summarize. Note that CRS transformations are automatic (when possible), with a warning.

    -
    # return the result as a data.frame object
    -e <- terra::extract(rs, terra::vect(hexagonal), df = TRUE)
    -e.pts <- terra::extract(rs, terra::vect(loafercreek.pts), df = TRUE)
    -
    -# check out the extracted data
    -summary(e[,-1])
    -
    ##       MAAT            MAP              FFD             GDD       rain_fraction  effective_precipitation
    -##  Min.   :12.96   Min.   : 381.0   Min.   :195.0   Min.   :2006   Min.   :91.0   Min.   :-508.60        
    -##  1st Qu.:15.67   1st Qu.: 521.5   1st Qu.:268.0   1st Qu.:2478   1st Qu.:99.0   1st Qu.:-330.62        
    -##  Median :16.14   Median : 630.5   Median :299.0   Median :2562   Median :99.0   Median :-204.88        
    -##  Mean   :15.94   Mean   : 666.0   Mean   :288.6   Mean   :2533   Mean   :98.7   Mean   :-166.37        
    -##  3rd Qu.:16.46   3rd Qu.: 789.2   3rd Qu.:316.2   3rd Qu.:2618   3rd Qu.:99.0   3rd Qu.: -27.45        
    -##  Max.   :17.40   Max.   :1270.0   Max.   :330.0   Max.   :2809   Max.   :99.0   Max.   : 406.78
    -
    # all pair-wise correlations
    -knitr::kable(cor(e[,-1]), digits = 2)
    +
    # return the result as a data.frame object
    +e <- terra::extract(rs, terra::vect(hexagonal), df = TRUE)
    +e.pts <- terra::extract(rs, terra::vect(loafercreek.pts), df = TRUE)
    +
    +# check out the extracted data
    +summary(e[,-1])
    +
    ##       MAAT            MAP              FFD             GDD       rain_fraction   effective_precipitation
    +##  Min.   :13.59   Min.   : 331.0   Min.   :204.0   Min.   :2145   Min.   :95.00   Min.   :-556.93        
    +##  1st Qu.:15.69   1st Qu.: 513.2   1st Qu.:268.5   1st Qu.:2495   1st Qu.:99.00   1st Qu.:-345.87        
    +##  Median :16.17   Median : 623.0   Median :298.5   Median :2566   Median :99.00   Median :-197.91        
    +##  Mean   :15.97   Mean   : 649.2   Mean   :288.7   Mean   :2541   Mean   :98.77   Mean   :-185.25        
    +##  3rd Qu.:16.49   3rd Qu.: 775.5   3rd Qu.:314.0   3rd Qu.:2628   3rd Qu.:99.00   3rd Qu.: -39.71        
    +##  Max.   :16.98   Max.   :1233.0   Max.   :335.0   Max.   :2735   Max.   :99.00   Max.   : 373.39
    +
    # all pair-wise correlations
    +knitr::kable(cor(e[,-1]), digits = 2)
    @@ -1484,95 +1501,95 @@

    4.12.2.2 Raster Summary By Polygo

    - + - - + + - + - + - - + + - - - + + + - + - + + + + - - - - + - + - + - +
    MAAT 1.00 -0.590.940.96 0.990.78-0.700.80-0.69
    MAP -0.59 1.00-0.53-0.56 -0.64-0.36-0.34 0.99
    FFD0.94-0.530.96-0.56 1.000.920.62-0.630.940.68-0.66
    GDD 0.99 -0.640.920.94 1.000.770.78 -0.74
    rain_fraction0.80-0.340.68 0.78-0.360.620.77 1.00-0.45-0.43
    effective_precipitation-0.70-0.69 0.99-0.63-0.66 -0.74-0.45-0.43 1.00

    Quickly compare the two sets of samples.

    -
    # compile results into a list
    -maat.comparison <- list('regular samples' = e$MAAT,
    -                        'polygon centroids' = e.pts$MAAT)
    -
    -# number of samples per method
    -lapply(maat.comparison, length)
    +
    # compile results into a list
    +maat.comparison <- list('regular samples' = e$MAAT,
    +                        'polygon centroids' = e.pts$MAAT)
    +
    +# number of samples per method
    +lapply(maat.comparison, length)
    ## $`regular samples`
    -## [1] 96
    +## [1] 98
     ## 
     ## $`polygon centroids`
     ## [1] 2336
    -
    # summary() applied by group
    -lapply(maat.comparison, summary)
    +
    # summary() applied by group
    +lapply(maat.comparison, summary)
    ## $`regular samples`
     ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
    -##   12.96   15.67   16.14   15.94   16.46   17.40 
    +##   13.59   15.69   16.17   15.97   16.49   16.98 
     ## 
     ## $`polygon centroids`
     ##    Min. 1st Qu.  Median    Mean 3rd Qu.    Max. 
     ##   12.70   15.82   16.19   16.02   16.44   17.41
    -
    # box-whisker plot
    -par(mar = c(4.5, 8, 3, 1), mfcol = c(1, 1))
    -boxplot(
    -  maat.comparison,
    -  horizontal = TRUE,
    -  las = 1,
    -  xlab = 'MAAT (deg C)',
    -  varwidth = TRUE,
    -  boxwex = 0.5,
    -  main = 'MAAT Comparison'
    -)
    +
    # box-whisker plot
    +par(mar = c(4.5, 8, 3, 1), mfcol = c(1, 1))
    +boxplot(
    +  maat.comparison,
    +  horizontal = TRUE,
    +  las = 1,
    +  xlab = 'MAAT (deg C)',
    +  varwidth = TRUE,
    +  boxwex = 0.5,
    +  main = 'MAAT Comparison'
    +)

    Basic climate summaries from a standardized source (e.g. PRISM) might be a useful addition to an OSD, or checking the ranges reported in mapunits.

    -
    -

    4.12.2.3 Raster Summary By Polygon: MLRA

    +
    +

    4.16.3 Raster Summary By Polygon: MLRA

    The following example is a simplified version of what is available in the soilReports package, reports on the ncss-tech GitHub repository.

    Efficient summary of large raster data sources can be accomplished using:

      @@ -1582,89 +1599,82 @@

      4.12.2.3 Raster Summary By Polygo
    • estimation of quantiles from collected raster samples

    Back to our example data. The first step is to check the MLRA polygons (mlra); how many features per MLRA symbol? Note that some MLRA have more than one polygon.

    -
    table(mlra$MLRARSYM)
    +
    table(mlra$MLRARSYM)

    Convert polygon area from square meters to acres and summarize. Note that this will only make sense when using a projected CRS with units of meters (equal area)!

    -
    poly.area <- terra::expanse(terra::vect(mlra)) / 4046.86 
    -
    -sf::sf_use_s2(TRUE)
    -poly.area.s2 <- units::set_units(x = sf::st_area(mlra), value = "acre")
    -
    -sf::sf_use_s2(FALSE)
    -poly.area.sf <- units::set_units(x = sf::st_area(mlra), value = "acre")
    -
    -summary(poly.area)
    -
    -sum(poly.area)
    -sum(poly.area.s2)
    -sum(poly.area.sf)
    +
    poly.area <- terra::expanse(terra::vect(mlra)) / 4046.86 
    +
    +sf::sf_use_s2(TRUE)
    +poly.area.s2 <- units::set_units(x = sf::st_area(mlra), value = "acre")
    +
    +sf::sf_use_s2(FALSE)
    +poly.area.sf <- units::set_units(x = sf::st_area(mlra), value = "acre")
    +
    +summary(poly.area)
    +
    +sum(poly.area)
    +sum(poly.area.s2)
    +sum(poly.area.sf)

    Sample each polygon at a constant sampling density of 0.001 samples per acre (1 sample for every 1,000 ac.). At this sampling density we should expect approximately 16,700 samples–more than enough for our simple example.

    -
    library(sharpshootR)
    -
    -# the next function requires a polygon ID: 
    -#  each polygon gets a unique number 1--number of polygons
    -mlra$pID <- 1:nrow(mlra)
    -cds <- constantDensitySampling(mlra, n.pts.per.ac = 0.001)
    +
    library(sharpshootR)
    +
    +# the next function requires a polygon ID: 
    +#  each polygon gets a unique number 1--number of polygons
    +mlra$pID <- 1:nrow(mlra)
    +cds <- constantDensitySampling(mlra, n.pts.per.ac = 0.001)

    Extract MLRA symbol at sample points using the sf::st_intersection() function. The result will be a sf object with attributes from our MLRA polygons which intersect the sampling points (cds).

    -
    # spatial overlay: sampling points and MLRA polygons
    -res <- sf::st_intersection(sf::st_transform(sf::st_as_sf(cds), sf::st_crs(mlra)), mlra)
    -
    -# row / feature order is preserved, so we can directly copy
    -cds$mlra <- res$MLRARSYM
    -
    -# tabulate number of samples per MLRA
    -table(cds$mlra)
    +
    # spatial overlay: sampling points and MLRA polygons
    +res <- sf::st_intersection(sf::st_transform(sf::st_as_sf(cds), sf::st_crs(mlra)), mlra)
    +
    +# row / feature order is preserved, so we can directly copy
    +cds$mlra <- res$MLRARSYM
    +
    +# tabulate number of samples per MLRA
    +table(cds$mlra)
    ## 
     ##    15    18 
     ## 11620  5137

    Extract values from the SpatVector of PRISM data as a data.frame.

    -
    e <- terra::extract(rs, terra::project(cds, terra::crs(rs)))
    -
    -# join columns from extracted values and sampling points
    -s.df <- cbind(as(cds, 'data.frame'), e)
    -
    -# check results
    -head(s.df)
    -
    ##   MLRARSYM MLRA_ID                      MLRA_NAME LRRSYM
    -## 1       15      20 Central California Coast Range      C
    -## 2       15      20 Central California Coast Range      C
    -## 3       15      20 Central California Coast Range      C
    -## 4       15      20 Central California Coast Range      C
    -## 5       15      20 Central California Coast Range      C
    -## 6       15      20 Central California Coast Range      C
    -##                                                         LRR_NAME pID mlra ID     MAAT  MAP FFD  GDD rain_fraction
    -## 1 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  1 15.19286 1149 306 2303            99
    -## 2 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  2 15.33926 1049 307 2369            99
    -## 3 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  3 15.42254 1041 313 2381            99
    -## 4 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  4 15.44636 1087 308 2382            99
    -## 5 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  5 15.39205 1116 316 2349            99
    -## 6 California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  6 15.43280 1058 313 2387            99
    -##   effective_precipitation
    -## 1                385.6023
    -## 2                252.4252
    -## 3                242.8284
    -## 4                283.1933
    -## 5                314.3419
    -## 6                258.3234
    +
    e <- terra::extract(rs, terra::project(cds, terra::crs(rs)))
    +
    +# join columns from extracted values and sampling points
    +s.df <- cbind(as(cds, 'data.frame'), e)
    +
    +# check results
    +head(s.df)
    +
    ##   MLRARSYM MLRA_ID                      MLRA_NAME LRRSYM                                                       LRR_NAME pID mlra ID
    +## 1       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  1
    +## 2       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  2
    +## 3       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  3
    +## 4       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  4
    +## 5       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  5
    +## 6       15      20 Central California Coast Range      C California Subtropical Fruit, Truck, and Specialty Crop Region   1   15  6
    +##       MAAT  MAP FFD  GDD rain_fraction effective_precipitation
    +## 1 15.19286 1149 306 2303            99                385.6023
    +## 2 15.33926 1049 307 2369            99                252.4252
    +## 3 15.42254 1041 313 2381            99                242.8284
    +## 4 15.44636 1087 308 2382            99                283.1933
    +## 5 15.39205 1116 316 2349            99                314.3419
    +## 6 15.43280 1058 313 2387            99                258.3234

    Summarizing multivariate data by group (MLRA) is usually much simpler after reshaping data from “wide” to “long” format.

    -
    # reshape from wide to long format
    -m <- tidyr::pivot_longer(s.df, cols = c(MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation))
    -
    -# check "wide" format
    -head(m)
    +
    # reshape from wide to long format
    +m <- tidyr::pivot_longer(s.df, cols = c(MAAT, MAP, FFD, GDD, rain_fraction, effective_precipitation))
    +
    +# check "wide" format
    +head(m)
    ## # A tibble: 6 × 10
    -##   MLRARSYM MLRA_ID MLRA_NAME                      LRRSYM LRR_NAME                         pID mlra     ID name   value
    -##   <chr>      <int> <chr>                          <chr>  <chr>                          <int> <chr> <dbl> <chr>  <dbl>
    -## 1 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 MAAT    15.2
    -## 2 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 MAP   1149  
    -## 3 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 FFD    306  
    -## 4 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 GDD   2303  
    -## 5 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 rain…   99  
    -## 6 15            20 Central California Coast Range C      California Subtropical Fruit,…     1 15        1 effe…  386.
    +## MLRARSYM MLRA_ID MLRA_NAME LRRSYM LRR_NAME pID mlra ID name value +## <chr> <int> <chr> <chr> <chr> <int> <chr> <dbl> <chr> <dbl> +## 1 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 MAAT 15.2 +## 2 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 MAP 1149 +## 3 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 FFD 306 +## 4 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 GDD 2303 +## 5 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 rain… 99 +## 6 15 20 Central California Coast Range C California Subtropical Fruit, Truck, and Spec… 1 15 1 effe… 386.

    A tabular summary of means by MLRA and PRISM variable using dplyr v.s. base tapply().

    -
    # tabular summary of mean values
    -dplyr::group_by(m, mlra, name) %>% 
    -  dplyr::summarize(mean(value)) %>%
    -  dplyr::arrange(name)
    +
    # tabular summary of mean values
    +dplyr::group_by(m, mlra, name) %>% 
    +  dplyr::summarize(mean(value)) %>%
    +  dplyr::arrange(name)
    ## # A tibble: 12 × 3
     ## # Groups:   mlra [2]
     ##    mlra  name                    `mean(value)`
    @@ -1681,93 +1691,92 @@ 

    4.12.2.3 Raster Summary By Polygo ## 10 18 effective_precipitation -193. ## 11 15 rain_fraction 98.6 ## 12 18 rain_fraction 97.2

    -
    # base R
    -tapply(m$value, list(m$mlra, m$name), mean, na.rm = TRUE)
    +
    # base R
    +tapply(m$value, list(m$mlra, m$name), mean, na.rm = TRUE)
    ##    effective_precipitation      FFD      GDD     MAAT      MAP rain_fraction
     ## 15               -196.8961 284.3748 2386.711 15.24977 587.8348      98.60990
     ## 18               -192.9192 273.1376 2496.125 15.66251 631.3798      97.21803
    -
    -
    -

    4.12.3 Example: Faster with exactextractr

    +
    +

    4.16.4 Example: Faster with exactextractr

    This example shows how to determine the distribution of Frost-Free Days across a soil series extent.

    The data are extracted from the raster data source very rapidly using the exactextractr package.

    -
    library(sf)
    -library(soilDB)
    -library(terra)
    -library(lattice)
    -library(exactextractr)
    -
    -# 5-10 seconds to download Series Extent Explorer data 
    -series <- c('holland', 'san joaquin')
    -
    -# make SpatialPolygonsDataFrame
    -s <- do.call('rbind', lapply(series, seriesExtent))
    -
    -# load pointer to PRISM data
    -r <- rast('C:/workspace2/chapter-4/FFD.tif')
    -
    -# transform extent to CRS of raster with sf
    -s <- st_transform(st_as_sf(s), crs = st_crs(r))
    -
    -# inspect
    -s
    -
    -# use `st_union(s)` to create a MULTI- POINT/LINE/POLYGON from single
    -# use `sf::st_cast(s, 'POLYGON')` to create other types
    -
    -system.time({ ex <- exactextractr::exact_extract(r, s) })
    -
    -# ex is a list(), with data.frame [value, coverage_fraction]
    -#  for each polygon in s (we have one MULTIPOLYGON per series)
    -
    -# combine all list elements `ex` into single data.frame `ex.all`
    -#  - use do.call('rbind', ...) to stack data.frames row-wise
    -#  - an anonymous function that iterates along length of `ex`
    -#  - adding the series name to as a new variable, calculated using `i`
    -ex.all <- do.call('rbind', lapply(seq_along(ex), function(i) {
    -  cbind(data.frame(group = series[i]), ex[[i]])
    -}))
    -
    -# simple summary
    -densityplot(~ value | group, data = ex.all, 
    -            plot.points = FALSE, bw = 2, lwd = 2,
    -            strip = strip.custom(bg = grey(0.85)),
    -            scales = list(alternating = 1),
    -            col = c('RoyalBlue'), layout = c(1, 2),
    -            ylab = 'Density', from = 0, to = 400,
    -            xlab = 'Frost-Free Days (50% chance)\n800m PRISM Data (1981-2010)', 
    -            main = 'FFD Estimate for Extent of San Joaquin and Holland Series'
    -)
    +
    library(sf)
    +library(soilDB)
    +library(terra)
    +library(lattice)
    +library(exactextractr)
    +
    +# 5-10 seconds to download Series Extent Explorer data 
    +series <- c('holland', 'san joaquin')
    +
    +# make SpatialPolygonsDataFrame
    +s <- do.call('rbind', lapply(series, seriesExtent))
    +
    +# load pointer to PRISM data
    +r <- rast('C:/workspace2/chapter-4/FFD.tif')
    +
    +# transform extent to CRS of raster with sf
    +s <- st_transform(st_as_sf(s), crs = st_crs(r))
    +
    +# inspect
    +s
    +
    +# use `st_union(s)` to create a MULTI- POINT/LINE/POLYGON from single
    +# use `sf::st_cast(s, 'POLYGON')` to create other types
    +
    +system.time({ ex <- exactextractr::exact_extract(r, s) })
    +
    +# ex is a list(), with data.frame [value, coverage_fraction]
    +#  for each polygon in s (we have one MULTIPOLYGON per series)
    +
    +# combine all list elements `ex` into single data.frame `ex.all`
    +#  - use do.call('rbind', ...) to stack data.frames row-wise
    +#  - an anonymous function that iterates along length of `ex`
    +#  - adding the series name to as a new variable, calculated using `i`
    +ex.all <- do.call('rbind', lapply(seq_along(ex), function(i) {
    +  cbind(data.frame(group = series[i]), ex[[i]])
    +}))
    +
    +# simple summary
    +densityplot(~ value | group, data = ex.all, 
    +            plot.points = FALSE, bw = 2, lwd = 2,
    +            strip = strip.custom(bg = grey(0.85)),
    +            scales = list(alternating = 1),
    +            col = c('RoyalBlue'), layout = c(1, 2),
    +            ylab = 'Density', from = 0, to = 400,
    +            xlab = 'Frost-Free Days (50% chance)\n800m PRISM Data (1981-2010)', 
    +            main = 'FFD Estimate for Extent of San Joaquin and Holland Series'
    +)

    -
    -

    4.12.4 Example: Summarizing MLRA Raster Data with lattice graphics

    +
    +

    4.16.5 Example: Summarizing MLRA Raster Data with lattice graphics

    Lattice graphics are useful for summarizing grouped comparisons.

    The syntax is difficult to learn and remember, but there is a lot of documentation online.

    -
    library(lattice)
    -
    -tps <- list(
    -    box.rectangle = list(col = 'black'),
    -    box.umbrella = list(col = 'black', lty = 1),
    -    box.dot = list(cex = 0.75),
    -    plot.symbol = list(
    -      col = rgb(0.1, 0.1, 0.1, alpha = 0.25, maxColorValue = 1),
    -      cex = 0.25
    -    )
    -  )
    -
    -bwplot(mlra ~ value | name, data = m,                   # setup plot and data source
    -       as.table=TRUE,                                   # start panels in top/left corner
    -       varwidth=TRUE,                                   # scale width of box by number of obs
    -       scales=list(alternating=3, relation='free'),     # setup scales
    -       strip=strip.custom(bg=grey(0.9)),                # styling for strips
    -       par.settings=tps,                                # apply box/line/point styling
    -       panel=function(...) {                            # within in panel, do the following
    -          panel.grid(-1, -1)                            # make grid lines at all tick marks
    -          panel.bwplot(...)                             # make box-whisker plot
    -      }
    -)
    +
    library(lattice)
    +
    +tps <- list(
    +    box.rectangle = list(col = 'black'),
    +    box.umbrella = list(col = 'black', lty = 1),
    +    box.dot = list(cex = 0.75),
    +    plot.symbol = list(
    +      col = rgb(0.1, 0.1, 0.1, alpha = 0.25, maxColorValue = 1),
    +      cex = 0.25
    +    )
    +  )
    +
    +bwplot(mlra ~ value | name, data = m,                   # setup plot and data source
    +       as.table=TRUE,                                   # start panels in top/left corner
    +       varwidth=TRUE,                                   # scale width of box by number of obs
    +       scales=list(alternating=3, relation='free'),     # setup scales
    +       strip=strip.custom(bg=grey(0.9)),                # styling for strips
    +       par.settings=tps,                                # apply box/line/point styling
    +       panel=function(...) {                            # within in panel, do the following
    +          panel.grid(-1, -1)                            # make grid lines at all tick marks
    +          panel.bwplot(...)                             # make box-whisker plot
    +      }
    +)

    -
    -

    4.13 Additional Reading (Spatial)

    +
    +

    4.17 Additional Reading (Spatial)

    diff --git a/book/static-figures/ch1_rcmdr.png b/book/static-figures/ch1_rcmdr.png deleted file mode 100644 index 21d7948f847b50b8b93aed37fd8bc73ea7153e0c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51410 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%0APZKi~al_2g>BLm#0j?x)ZsjEyN>< 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%0A+B$@Vd6&R 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 MSwpGxiP?w$1H@f=`Tzg`
  164. 1.3.3 Packages