Learn R Programming

aqp (version 2.1.0)

get.increase.matrix: Compute Pair-wise Distances of Soil Properties over Depth

Description

Computes pair-wise distance matrix to determine where an attribute increases within a specified vertical distance threshold.

get.increase.depths performs the conversion of the square matrix output of get.increase.matrix back to horizon top depth for where criteria were met.

Usage

get.increase.matrix(p, attr, threshold.fun, vertical.distance)

get.increase.depths(p, attr, threshold.fun, vertical.distance)

Value

Returns a square logical matrix reflecting where the increase criteria were met.

get.increase.depths converts to horizon top depth by using above matrix output to determine depths where increase is met.

Returns a numeric vector of depths where the increase requirement is met. For the argillic, the first is the one of interest.

get.increase.depths() converts to horizon top depth by using above matrix output to determine depths where increase is met.

Arguments

p

a SoilProfileCollection, containing a single profile

attr

horizon attribute name to get the "increase" of

threshold.fun

a function that returns the threshold (as a function of attr); may return a constant single value

vertical.distance

the vertical distance (determined from difference SPC top depth variable) within which increase must be met

Author

Andrew Gene Brown

Details

Uses matrix outer product to determine all pair-wise differences in attr for the horizons of p. Supplies attr to threshold.fun to determine the minimum value criterion to return TRUE in output matrix for an "increase". Also, computes all pair-wise distances in depth dimension to determine whether the vertical distance criteria have been met simultaneously with attr increase.

This function assumes that the threshold.fun supplied by the user returns either a constant or a vector of equal length to its input.

Note that the threshold.fun result is allowed to contain NA, but that will result in no output for affected cells.

get.increase.depths() performs the conversion of the square matrix output of get.increase.matrix back to horizon top depth for where criteria were met.

Note that the threshold.fun result is allowed to contain NA, but that will result in no output for affected cells.

See Also

getArgillicBounds(), crit.clay.argillic()

getArgillicBounds() crit.clay.argillic()

Examples

Run this code

data(sp1, package = 'aqp')
depths(sp1) <- id ~ top + bottom
site(sp1) <- ~ group

p <- sp1[1]
attr <- 'prop' # clay contents
foo <- get.increase.matrix(p, threshold.fun = crit.clay.argillic,
                           attr = attr, vertical.distance = 30)
foo


data(sp1, package = 'aqp')
depths(sp1) <- id ~ top + bottom
site(sp1) <- ~ group

p <- sp1[1]
attr <- 'prop' # clay contents
foo <- get.increase.depths(p, threshold.fun = crit.clay.argillic,
                           attr = attr, vertical.distance = 30)
foo

Run the code above in your browser using DataLab