psagg {wrapr} | R Documentation |
Pseudo aggregator.
Description
Take a vector or list and return the first element (pseudo-aggregation or projection). If the argument length is zero or there are different items throw in an error.
Usage
psagg(x, ..., strict = TRUE)
Arguments
x |
should be a vector or list of items. |
... |
force later arguments to be passed by name |
strict |
logical, should we check value uniqueness. |
Details
This function is useful in some split by column situations as a safe and legible way to convert vectors to scalars.
Value
x[[1]] (or throw if not all items are equal or this is an empty vector).
Examples
d <- data.frame(
group = c("a", "a", "b"),
stringsAsFactors = FALSE)
dl <- lapply(
split(d, d$group),
function(di) {
data.frame(
# note: di$group is a possibly length>1 vector!
# pseudo aggregate it to the value that is
# constant for each group, confirming it is constant.
group_label = psagg(di$group),
group_count = nrow(di),
stringsAsFactors = FALSE
)
})
do.call(rbind, dl)
[Package wrapr version 2.1.0 Index]