hz_intersect {aqp} | R Documentation |
Intersecting horizon boundaries by horizon depths
Description
This function intersects two horizon tables by harmonizing their depths and merging them where they overlap. This can be useful to rejoin the results of hz_dissolve()
to it's original horizon table, and then perform an aggregation on the dissolved variables.
Usage
hz_intersect(x, y, idcol = "id", depthcols = c("top", "bottom"))
Arguments
x |
a |
y |
a |
idcol |
character: column name of the pedon ID within the object. |
depthcols |
a character vector of length 2 specifying the names of the horizon depths (e.g. |
Details
.
Value
A data.frame
with harmonized depth intervals (i.e. segment_id) and columns from both of the original data.frame
. If both data.frame
contain the same column names, they will both be returned (with the exception of the idcol and depthcols), and appended with either x or y to indicate which data.frame
they originated from.
Author(s)
Stephen Roecker
See Also
hz_dissolve()
, hz_lag()
, hz_segment()
Examples
h <- data.frame(
id = 1,
top = c(0, 25, 44, 46, 50),
bottom = c(25, 44, 46, 50, 100),
by = c("Yes", "Yes", "No", "No", "Yes"),
clay = c(10, 12, 27, 35, 16)
)
h |> hz_dissolve("by")
h |> hz_dissolve("by") |> hz_intersect(x = _, y = h)
h |>
hz_dissolve("by") |>
hz_intersect(x = h, y = _) |>
aggregate(clay ~ dissolve_id, data = _, mean)