Skip to contents

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 between x and z with x:z, exclude y with -y. For more options, see the dplyr::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. See tf::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. See tf::tfd() for details.

Value

a data frame with (at least) .id and tfd columns

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()