oss.particle_size: Use particle size analysis data to determine the particle...

View source: R/oss.particle_size.R

oss.particle_sizeR Documentation

Use particle size analysis data to determine the particle size class in the Canadian System of Soil Classification or USDA If sand separates data is provided, these are considered in the classification. Sand, silt and clay must be provided in percentage and should sum to 100. Sand separates should sum to total sand.

Description

Use particle size analysis data to determine the particle size class in the Canadian System of Soil Classification or USDA If sand separates data is provided, these are considered in the classification. Sand, silt and clay must be provided in percentage and should sum to 100. Sand separates should sum to total sand.

Usage

oss.particle_size(
  sand,
  silt,
  clay,
  vcs = NULL,
  cs = NULL,
  ms = NULL,
  fs = NULL,
  vfs = NULL,
  tri = "CSSC"
)

Arguments

sand

numeric, sand (0.5 - 2 mm) content in percentage

silt

numeric, silt (0.002 - 0.05 mm) content in percentage

clay

numeric, clay (<0.002 mm) content in percentage

vcs

numeric, very coarse sand (1 - 2 mm) content expressed as portion of total sand

cs

numeric, coarse sand (0.5 - 1 mm) content expressed as portion of total sand

ms

numeric, medium sand (0.25 - 0.50 mm) content expressed as portion of total sand

fs

numeric, fine sand (0.10 - 0.25 mm) content expressed as portion of total sand

vfs

numeric, very fine sand (0.05 - 0.10 mm) content expressed as portion of total sand

tri

character, current choices are "CSSC" for Canadian System of Soil Classification (default), or "USDA" for United States Department of Agriculture

Value

character

Examples

#Determine particle size class for a single observation without sand fractions
oss.particle_size(sand=67, silt=23, clay=10)

#Determine particle size class for a single observation with sand fractions
oss.particle_size(sand=67, silt=23, clay=10, vcs=60, cs=10, ms=10, fs=10, vfs=10)

#Determine particle size class for multiple observations without sand fractions
dat<- data.frame(sand=c(20,40,80), silt= c(15,30,10), clay= c(65,30,10),
vcs=c(10,10,10), cs=c(5,5,5), ms=c(5,5,5), fs=c(60,60,60), vfs=c(20,20,20))
mapply(oss.particle_size,sand=dat$sand, silt=dat$silt, clay=dat$clay,
vcs=dat$vcs, cs=dat$cs, ms=dat$ms, fs=dat$fs, vfs=dat$vfs)

#Determine particle size class for multiple observations without sand fractions
dat<- data.frame(sand=c(20,40,80), silt= c(15,30,10), clay= c(65,30,10))
mapply(oss.texture,sand=dat$sand, silt=dat$silt, clay=dat$clay)

#or return it as a new column in the data frame
dat$class<- mapply(oss.particle_size,sand=dat$sand, silt=dat$silt, clay=dat$clay)


newdale/onsoilsurvey documentation built on Jan. 5, 2024, 1:35 a.m.