Datetime data has a "resolution", the units of the values.
resolution() exposes that property and resolution<- lets you set it.
"Rollups" are a way of binning datetime data into meaningful units.
rollup() lets you create an expression that you can query with. Datetime
variables also have a rollupResolution() attribute that is the default
resolution they will roll-up to, if not specified in rollup();
rollupResolution<- lets you set that.
resolution(x)
resolution(x) <- value
rollup(x, resolution = rollupResolution(x))
rollupResolution(x)
rollupResolution(x) <- valuea Datetime variable
a resolution string. Valid resolutions in Crunch are
c("Y", "Q", "M", "W", "D", "h", "m", "s", "ms"). NULL is also valid for
rollupResolution<- but not for resolution<-.
Same as value, in rollup(). This may be NULL, in
which case the server will determine an appropriate resolution based on the
range of the data.
resolution() and rollupResolution() return the resolution string
for datetime variables, NULL otherwise. The setters return the variable
entity after modifying the state on the server. rollup() returns a
CrunchExpr expression.
Note that resolution is a property of the data while rollupResolution is
metadata. Setting resolution alters the column data, and if setting a more
coarse resolution (e.g. going from "s" to "m"), it cannot be reversed.
Setting rollupResolution is non-destructive.
if (FALSE) { # \dontrun{
resolution(ds$starttime)
## [1] "ms"
resolution(ds$starttime) <- "s"
rollup(ds$starttime)
rollup(ds$starttime, "D")
rollupResolution(ds$starttime) <- "D"
crtabs(~ rollup(starttime), data = ds)
} # }