Learn R Programming

aqp (version 2.1.0)

fragmentSieve: Sieve the Coarse Fraction of Soil

Description

Sieve applies thresholds to a numeric vector of fragment diameter values, returning fragment size classes. Particle diameter thresholds are evaluated as d < threshold.

Usage

fragmentSieve(
  diameter,
  sieves = NULL,
  ordered = FALSE,
  prefix = "",
  new_names = NULL,
  ...
)

Value

character. Size class labels based on names of sieves, new_names, and prefix (if specified).

Arguments

diameter

numeric. Vector of diameters of coarse fragments to "sieve". Default sieves are specified in millimeters.

sieves

leave as NULL to use fragment class labels and diameters defined by fragmentClasses(), 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 as sys, flat, and rounded, 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.

See Also

fragmentClasses()

Examples

Run this code

# use a simplified version of the USDA system
# common within NRCS/SPSD and NCSS
fragmentSieve(c(30, 125, 180, 500, 1000))

# pararock fragments
fragmentSieve(c(30, 125, 180, 500, 1000), prefix = 'para')

# result as an ordered factor
fragmentSieve(c(30, 125, 180, 500, 1000), ordered = TRUE)

# USDA system, flat size classes
fragmentSieve(c(30, 125, 180, 500, 1000), flat = TRUE)

# alternative classification systems
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'usda')
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'international')
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'unified')
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'aashto')
fragmentSieve(c(30, 125, 180, 500, 1000), sys = 'mod.wentworth')

# custom fragment labels / diameter
fragmentSieve(
  c(30, 125, 180, 500, 1000),
  sieves = c(clumps = 50, chunks = 300, blocks = 100000)
)

# unnamed sieves, generic labels used
fragmentSieve(c(10, 50), sieves = c(30, 70))

fragmentSieve(c(10, 50), sieves = c(30, 70), ordered = TRUE)
 

Run the code above in your browser using DataLab