View source: R/aggregateColor.R
aggregateColor | R Documentation |
Summarize soil color data, weighted by occurrence and horizon thickness.
aggregateColor(
x,
groups = "genhz",
col = "soil_color",
k = NULL,
profile_wt = NULL,
mixingMethod = c("estimate", "exact")
)
x |
a |
groups |
the name of a horizon or site attribute used to group horizons, see examples |
col |
the name of a horizon-level attribute with soil color specified in hexadecimal (i.e. "#rrggbb") |
k |
single integer specifying the number of colors discretized via PAM ( |
profile_wt |
the name of a site-level attribute used to modify weighting, e.g. area |
mixingMethod |
method used to estimate "aggregate" soil colors, see |
Weights are computed by:
w_i = sqrt(sum(thickness_i)) * n_i
where w_i
is the weight associated with color i
, thickness_i
is the total thickness of all horizons associated with the color i
, and n_i
is the number of horizons associated with color i
. Weights are computed within groups specified by groups
.
See the related tutorial for additional examples.
A list with the following components:
scaled.data
: a list
of colors and associated weights, one item for each generalized horizon label with at least one color specified in the source data
aggregate.data
: a data.frame
of weighted-mean colors, one row for each generalized horizon label with at least one color specified in the source data
D.E. Beaudette
generalize.hz()
, aggregateColorPlot()
# keep examples from using more than 2 cores
data.table::setDTthreads(Sys.getenv("OMP_THREAD_LIMIT", unset = 2))
# load some example data
data(sp1, package = 'aqp')
# upgrade to SoilProfileCollection and convert Munsell colors
sp1$soil_color <- with(sp1, munsell2rgb(hue, value, chroma))
depths(sp1) <- id ~ top + bottom
site(sp1) <- ~ group
# generalize horizon names
n <- c('O', 'A', 'B', 'C')
p <- c('O', 'A', 'B', 'C')
sp1$genhz <- generalize.hz(sp1$name, n, p)
# aggregate colors over horizon-level attribute: 'genhz'
a <- aggregateColor(sp1, groups = 'genhz', col = 'soil_color')
# check results
str(a)
# simple visualization
aggregateColorPlot(a)
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.