Data-driven evaluation of generalized horizon labels using nMDS and silhouette width.

evalGenHZ(
  obj,
  genhz = GHL(obj, required = TRUE),
  vars,
  non.matching.code = "not-used",
  stand = TRUE,
  trace = FALSE,
  metric = "euclidean"
)

Arguments

obj

a SoilProfileCollection object

genhz

name of horizon-level attribute containing generalized horizon labels

vars

character vector of horizon-level attributes to include in the evaluation

non.matching.code

code used to represent horizons not assigned a generalized horizon label

stand

standardize variables before computing distance matrix, passed to cluster::daisy()

trace

verbose output from passed to MASS::isoMDS()

metric

distance metric, passed to cluster::daisy()

Value

a list is returned containing:

  • horizons: c('mds.1', mds.2', 'sil.width', 'neighbor')

  • stats: mean and standard deviation vars, computed by generalized horizon label

  • dist: the distance matrix as passed to MASS::isoMDS()

Details

Non-metric multidimensional scaling is performed via MASS::isoMDS(). The input distance matrix is generated by cluster::daisy() using (complete cases of) horizon-level attributes from obj as named in vars.

Silhouette widths are computed via cluster::silhouette(). The input distance matrix is generated by cluster::daisy() using (complete cases of) horizon-level attributes from obj as named in vars. Note that observations with genhz labels specified in non.matching.code are removed filtered before calculation of the distance matrix.

See also

Author

D.E. Beaudette