Learn R Programming

aqp (version 2.1.0)

hz_intersect: 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"))

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.

Arguments

x

a data.frame

y

a data.frame

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. c("top", "bottom")).

Author

Stephen Roecker

Details

.

See Also

hz_dissolve(), hz_lag(), hz_segment()

Examples

Run this code

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)
)

hz_dissolve(h, "by")

hz_intersect(x = hz_dissolve(h, "by"), y = h)

hi <- hz_intersect(x = h, y = hz_dissolve(h, "by"))
aggregate(clay ~ dissolve_id, data = hi, mean)

Run the code above in your browser using DataLab