
The tf package provides necessary
infrastructure for tidyfun
with minimal dependencies – specifically: no
tidyverse-dependencies.
The goal of tidyfun, in turn, is to
provide accessible and well-documented software that makes
functional data analysis in R easy – specifically
data wrangling and exploratory analysis.
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-framework,
can be operated on using most standard functions (+,
mean(), c(), etc.) as well as several new
functions in tf that implement operations specific for
functional data (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:
pak::pak("tidyfun/tf")tf provides:
tfd & tfbtf
vectorsPlease 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 tidy functional
data) or in basis representation (class tfb for
tidy functional basis data).
Such tf-objects can be subsetted or subassigned,
computed on and summarized.
Almost all
==, + or
*sum, log or
absmean or
sdare 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 backtf 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.