SoilProfileCollection ObjectsCut ("dice") soil horizons into 1-unit thick slices. This function will eventually replace aqp::slice().
dice(
x,
fm = NULL,
SPC = TRUE,
pctMissing = FALSE,
fill = FALSE,
strict = TRUE,
byhz = FALSE
)a SoilProfileCollection object
optional formula describing top depths and horizon level attributes to include: integer.vector ~ var1 + var2 + var3 or integer.vector ~ . to include all horizon level attributes. When NULL profiles are "diced" to depth and results will include all horizon level attributes.
return the diced SoilPrfolileCollection, if FALSE a data.frame of horizon-level attributes
compute "percent missing data" by slice (when TRUE expect 6-8x longer run time)
logical, fill with empty placeholder horizons in gaps within profiles, and/or, above/below interval specified in fm. Automatically set to TRUE when fm is specified. Backwards compatibility with slice is maintained by setting fill = TRUE with or without fm.
perform horizon depth logic checking / flagging / removal
Evaluate horizon depth logic at the horizon level (TRUE) or profile level (FALSE). Invalid depth logic invokes HzDepthLogicSubset which removes offending profiles or horizon records.
a SoilProfileCollection object, or data.frame when SPC = FALSE
For large and potentially messy collections that include missing horizon bottom depths, or 0-thickness horions, consider using repairMissingHzDepths() before dice().