The ** tf** package provides necessary infrastructure for

`tidyfun`

`tidyverse`

-dependencies.The goal of ** tidyfun**, in turn, is to provide accessible and well-documented software that

`R`

easy** tf** includes definitions of new

`S3`

data types for vectors of functional data and associated methods. These `tf`

-vectors, with subclasses `tfd`

and `tfb`

, use the `vctrs`

`+`

, `mean()`

, `c()`

, etc.) as well as several new functions in `tf`

that implement operations specific for `tf_smooth`

, `tf_derive`

, `tf_integrate`

).**Crucially**, vectors of class `tf`

can be included in data frames containing other variables, for simple and reliable data manipulation. This approach is connected to the conceptual framework in functional data analysis which assumes that *complete functions* are the unit of observation. With `tidyfun`

and `tf`

, you can keep full curves alongside numeric, factor, and other observations on the same subject in one data frame.

You can install the latest release from GitHub with:

** tf** provides:

- new
**data types**for representing functional data:`tfd`

&`tfb`

- arithmetic
**operators**and descriptive**statistics**for such data - basic
**graphics**functions for`tf`

vectors - basic data
**wrangling**for functional data: reshaping from list columns to wide to long and back, interpolating on different grids, filtering and zooming, etc.

Please see the `tidyfun`

website for the full documentation including vignettes etc.

** tf** provides new

`S3`

-classes for functional data, either as raw data (class `tfd`

for `tfb`

for Such `tf`

-objects can be subsetted or subassigned, computed on and summarized.

Almost all

- operators like
`==`

,`+`

or`*`

- math functions like
`sum`

,`log`

or`abs`

- and statistics functions like
`mean`

or`sd`

are defined for the vector classes defined in ** tf** (more).

The `tf`

objects are just glorified lists, so they work well as columns in data frames. That makes it a lot easier to keep your other data and functional measurements together in one object for preprocessing, exploratory analysis and description. At the same time, these objects actually behave like vectors of *functions* to some extent, i.e., they can be evaluated on any point in their domain, they can be integrated or differentiated, etc.

See here for more information on the operations defined for `tf`

vectors.

`tf`

and back** tf** includes functions

`tfd`

and `tfb`

for converting matrices, data frames, etc. to `tf`

vectors and back. More data wrangling methods in a `tidyverse`

-inspired way and `ggplot2`

-geoms for functional data are available in `tidyfun`

See here for details on getting data into (and out of) the `tf`

format.

Found a bug? Got a question? Missing some functionality?

Please let us know so we can make it better.