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, or data.frame when SPC = 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.
D.E. Beaudette, A.G. Brown
For large and potentially messy collections that include missing horizon bottom depths, or 0-thickness horions, consider using repairMissingHzDepths() before dice().