get.ml.hz {aqp}R Documentation

Determine ML Horizon Boundaries

Description

This function accepts input from slab() (a data.frame) along with a vector of horizon names, and returns a data.frame of the most likely horizon boundaries.

This function expects that x is a data.frame generated by slab(). If x was not generated by slab(), then o.names is required.

Usage

get.ml.hz(x, o.names = attr(x, which = "original.levels"))

Arguments

x

data.frame, output from slab()

o.names

an optional character vector of horizon designations that will be used in the final table

Value

A data.frame with the following columns:

Author(s)

D.E. Beaudette

References

Beaudette, D. E., Roudier, P., & Skovlin, J. (2016). Probabilistic representation of genetic soil horizons. Digital soil morphometrics, 281-293.

See Also

slab()

Examples


# init SPC
data(sp1)
depths(sp1) <- id ~ top + bottom

# set horizon designation metadata
hzdesgnname(sp1) <- 'name'

# generalize horizon designations from character vector
# result is an ordered factor
sp1$genhz <- generalizeHz(
  sp1$name,
  new = c('O','A','B','C'),
  pat = c('O', '^A','^B','C'),
  ordered = TRUE
)

# compute slice-wise GHL probability
# so that it sums to contributing fraction
# from 0-150cm
a <- slab(sp1, fm = ~ genhz, cpm = 1, slab.structure = 0:150)

# note original GHL names are set by slab()
attr(a, 'original.levels')

# generate table of ML horizonation
get.ml.hz(a)


[Package aqp version 2.0.2 Index]