grouped {gpindex} | R Documentation |
Grouped operator
Description
Make a function applicable to grouped data.
Usage
grouped(f, ...)
Arguments
f |
A function. |
... |
Deprecated. Additional arguments to |
Value
A function like f
with a new argument group
. This accepts a factor to
split all other arguments in f
into groups before applying f
to each
group and combining the results. It is similar to ave()
, but more general.
See Also
Other operators:
balanced()
,
quantity_index()
Examples
p1 <- price6[[3]]
p0 <- price6[[2]]
q1 <- quantity6[[3]]
q0 <- quantity6[[2]]
# Calculate Tornqvist weights for two groups
f <- factor(rep(letters[1:2], each = 3))
tornqvist_weights <- grouped(index_weights("Tornqvist"))
tornqvist_weights(p1, p0, q1, q0, group = f)
# Calculate a mean like ave(), but with weights
x <- 1:6
w <- c(1:5, NA)
grouped_mean <- grouped(\(x, w) geometric_mean(x, w, na.rm = TRUE))
grouped_mean(x, w, group = f)
# Redistribute weights
w1 <- c(2, 4)
w2 <- 1:6
harmonic_mean(mapply(harmonic_mean, split(x, f), split(w2, f)), w1)
wr <- grouped(scale_weights)(w2, group = f) * w1[f]
harmonic_mean(x, wr)
[Package gpindex version 0.6.1 Index]