Similar in spirit to tidyr::nest()
. This turns tables in "long" format,
where one column (.id
) defines the unit of observation, one column (.arg
)
defines the evaluation grids of the functional observations, and other columns (...
)
define the values of the functions at those points into a (much shorter) table containing
tfd
-objects. All other variables are checked for constancy over .id
and
appended as well.
Usage
tf_nest(
data,
...,
.id = "id",
.arg = "arg",
domain = NULL,
evaluator = "tf_approx_linear",
resolution = NULL
)
Arguments
- data
a data frame
- ...
A selection of columns. If empty, all variables except the
.id
and.arg
columns are selected. You can supply bare variable names, select all variables betweenx
andz
withx:z
, excludey
with-y
. For more options, see thedplyr::select()
documentation.- .id
the (bare or quoted) name of the column defining the different observations. Defaults to "id".
- .arg
the (bare or quoted) name of the column defining the
arg
-values of the observed functions. Defaults to "arg".- domain
optional. Range of possible
arg
-values. Seetf::tfd()
for details.- evaluator
optional. A function accepting arguments x, arg, evaluations. See
tf::tfd()
for details.- resolution
optional. Resolution of the evaluation grid in
arg
. Seetf::tfd()
for details.
Details
domain
, resolution
and evaluator
can be specified as lists or vectors
if you're nesting multiple functional data columns with different properties.
Because quasi-quotation is such a bitch, you can only specify the evaluator
functions as strings and not as bare names here.
See also
tfd() for domain, evaluator, resolution
Other tidyfun data wrangling functions:
tf_evaluate.data.frame()
,
tf_gather()
,
tf_spread()
,
tf_unnest()