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

View source: R/oss.texture.R

oss.textureR Documentation

Use particle size analysis data to determine the texture class in the Canadian System of Soil Classification or USDA If sand fraction data is provided, modifiers (coarse, fine, very fine) will be assigned to the sands, loamy sands and sandy loams.

Description

Use particle size analysis data to determine the texture class in the Canadian System of Soil Classification or USDA If sand fraction data is provided, modifiers (coarse, fine, very fine) will be assigned to the sands, loamy sands and sandy loams.

Usage

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

Arguments

sand

numeric, sand (0.5 - 2 mm) content either in decimal or percentage (e.g. 0.25 or 25)

silt

numeric, silt (0.002 - 0.05 mm) content either in decimal or percentage (e.g. 0.25 or 25)

clay

numeric, clay (<0.002 mm) content either in decimal or percentage (e.g. 0.25 or 25)

vcs

numeric, very coarse sand (1 - 2 mm) content expressed as percentage of the sum of the sand fractions or portion of total sand

cs

numeric, coarse sand (0.5 - 1 mm) content expressed as percentage of the sum of the sand fractions or portion of total sand

ms

numeric, medium sand (0.25 - 0.50 mm) content expressed as percentage of the sum of the sand fractions or portion of total sand

fs

numeric, fine sand (0.10 - 0.25 mm) content expressed as percentage of the sum of the sand fractions or portion of total sand

vfs

numeric, very fine sand (0.05 - 0.10 mm) content expressed as percentage of the sum of the sand fractions or 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 texture class for a single observation without sand fractions
oss.texture(sand=67, silt=23, clay=10)

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

#Determine texture 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.texture,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 texture 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.texture,sand=dat$sand, silt=dat$silt, clay=dat$clay)


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