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("tidyfun/tf") pak
tf
provides:
tfd
& tfb
tf
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
abs
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 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.