Sieve applies thresholds to a numeric vector of fragment diameter values, returning fragment size classes. Particle diameter thresholds are evaluated as d < threshold.
Arguments
- diameter
numeric. Vector of diameters of coarse fragments to "sieve". Default
sievesare specified in millimeters.- sieves
leave as
NULLto use fragment class labels and diameters defined byfragmentClasses(), or a named vector of fragment diameters. See examples.- ordered
logical. Return as an ordered factor.
- prefix
character. Add a prefix to result names? Default:
""adds no prefix. For example"para"might be used for size classes of pararock fragments.- new_names
Optional: apply new labels to result classes. Should match length of
sieves.- ...
additional arguments to
fragmentClasses(), such assys,flat, androunded, see examples.
References
Soil Science Division Staff. 2017. Soil survey manual. C. Ditzler, K. Scheffe, and H.C. Monger (eds.). USDA Handbook 18. Government Printing Office, Washington, D.C.
Examples
# use a simplified version of the USDA system
# common within NRCS/SPSD and NCSS
fragmentSieve(c(30, 125, 180, 500, 1000))
#> [1] "gravel" "cobbles" "cobbles" "stones" "boulders"
# pararock fragments
fragmentSieve(c(30, 125, 180, 500, 1000), prefix = 'para')
#> [1] "paragravel" "paracobbles" "paracobbles" "parastones" "paraboulders"
# result as an ordered factor
fragmentSieve(c(30, 125, 180, 500, 1000), ordered = TRUE)
#> [1] gravel cobbles cobbles stones boulders
#> Levels: gravel < cobbles < stones < boulders
# USDA system, flat size classes
fragmentSieve(c(30, 125, 180, 500, 1000), flat = TRUE)
#> [1] "channers" "channers" "flagstones" "stones" "boulders"
# alternative classification systems
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'usda')
#> [1] "coarse_gravel" "cobbles" "cobbles" "stones"
#> [5] "boulders"
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'international')
#> [1] "stones" "stones" "stones" "stones" "stones"
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'unified')
#> [1] "coarse_gravel" "cobbles" "cobbles" "boulders"
#> [5] "boulders"
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'aashto')
#> [1] "coarse_gravel" "broken_rock" "broken_rock" "broken_rock"
#> [5] "broken_rock"
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'mod.wentworth')
#> [1] "pebbles" "cobbles" "cobbles" "boulders" "boulders"
# custom fragment labels / diameter
fragmentSieve(
c(30, 125, 180, 500, 1000),
sieves = c(clumps = 50, chunks = 300, blocks = 100000)
)
#> [1] "clumps" "chunks" "chunks" "blocks" "blocks"
# unnamed sieves, generic labels used
fragmentSieve(c(10, 50), sieves = c(30, 70))
#> [1] "class_1" "class_2"
fragmentSieve(c(10, 50), sieves = c(30, 70), ordered = TRUE)
#> [1] class_1 class_2
#> Levels: class_1 < class_2