Skip to contents

Calculates the particle size distribution and both DIN and USDA texture classes from a series of hydrometer readings in accordance with ASTM D422-63 (2007).

Usage

texture(reading, ...)

# S3 method for class 'formula'
texture(formula, data = NULL, ...)

# Default S3 method
texture(
  reading,
  blank,
  time,
  temp,
  conc = 50,
  Gs = 2.65,
  hydrometer = "auto",
  model = "auto",
  plot = F,
  ...
)

# S3 method for class 'texture'
print(x, ...)

# S3 method for class 'texture'
plot(x, ...)

as_tridata(x, ...)

# Default S3 method
as_tridata(x, ...)

# S3 method for class 'texture'
as_tridata(x, which = NULL, ...)

Arguments

reading

a numeric vector of data values providing the hydrometer readings at the bottom of the meniscus.

...

further arguments to be passed to texture() (currently not used), print(), or plot().

formula

an object of class 'formula' of the form reading ~ blank + time + temp.

data

a data frame containing the variables in formula.

blank

a numeric vector containing the blank readings taken in 5 g/L sodium hexametaphosphate solution (composite correction).

time

a numeric vector containing the time passed since the beginning of the measurement in minutes.

temp

an integer vector containing the measured temperature.

conc

the concentration of the soil solution, default is 50 g/L as proposed in the ASTM guideline.

Gs

specific gravity of the suspension.

hydrometer

a character string specifying the hydrometer used; accepted values are "auto" for auto-detection (default), "151H", and "152H".

model

string is passed to drm(), "auto" chooses the best fitting model automatically.

plot

logical; if TRUE the particle size distribution is plotted.

x

an object of class 'texture'.

which

character value indicating the soil texture classification system to export; accepts "din" or "usda".

Value

texture returns an object of class 'texture'. The functions print() and plot() are available to retrieve the soil texture classes and the particle size distribution, respectively.

An object of class 'texture' is a list containing the following components:

meta

Measurement meta data

distribution

data frame providing the particle size distribution

model

information on the fitted drm model

din

Main DIN texture classes

usda

Main USDA texture classes

as_tridata converts 'texture' to data.frames of a specific structure require for soiltexture-package.

References

ASTM D422-63 (2007). Standard Test Method for Particle-Size Analysis of Soils. Technical standard. ASTM International, West Conshohocken, PA. Available from https://www.astm.org/standards/d422.

See also

Other texture: clayloam

Author

Zacharias Steinmetz

Examples

data(clayloam)
texture(reading ~ blank + time + temperature, data = clayloam)
#> Soil particle estimation according to ASTM D422-63
#> Hydrometer model: 152H
#> Specific gravity (Gs) = 2.65   Soil extract: 50 g/L
#> 
#> Particle size distribution:
#>  Particle size Percent passing
#>        0.05155           0.754
#>        0.03102           0.634
#>        0.02019           0.554
#>        0.01214           0.434
#>        0.00864           0.414
#>        0.00618           0.374
#>        0.00361           0.334
#> 
#> Fitted with Log-logistic (log(ED50) as parameter) with upper limit at 1 (LL2.3u)
#> 
#> Soil texture classes (DIN 4022):
#>              Clay   Silt   Sand
#> Estimate   0.3177 0.4755 0.2068
#> Std. Error 0.0131 0.0242 0.0112
#> 
#> Soil texture classes (USDA):
#>              Clay   Silt    Sand
#> Estimate   0.3177 0.4287 0.25366
#> Std. Error 0.0131 0.0226 0.00954