Learn R Programming

tf

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.

Installation

You can install the latest release from GitHub with:

pak::pak("tidyfun/tf")

Overview

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.

What does it do?

New vector-like data types for functional data

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

  • 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.

Methods for converting existing data to 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.

Copy Link

Version

Install

install.packages('tf')

Monthly Downloads

1,993

Version

0.3.4

License

AGPL (>= 3)

Issues

Pull Requests

Stars

Forks

Maintainer

Fabian Scheipl

Last Published

May 22nd, 2024

Functions in tf (0.3.4)

tf_jiggle

Make a tf (more) irregular
tf_integrate

Integrals and anti-derivatives of functional data
print.tf

Pretty printing and formatting for functional data
tf_arg

Utility functions for tf-objects
Ops.tf

Math, Summary and Ops Methods for tf
tfb_fpc

Functional data in FPC-basis representation
plot.tf

base plots for tfs
tfd

Constructors for vectors of "raw" functional data
tfb_spline

Spline-based representation of functional data
unique_id

Make syntactically valid unique names
tfsummaries

Functions that summarize tf objects across argument values
tfbrackets

Accessing, evaluating, subsetting and subassigning tf vectors
vec_cast.tfd_reg

vctrs methods for tf objects
tf_derive

Differentiating functional data: approximating derivative functions
in_range

Find out if values are inside given bounds
as.data.frame.tf

Convert functional data back to tabular data formats
tf_depth

Functional Data Depth
tf-package

tf: S3 Classes and Methods for Tidy Functional Data
fpc_wsvd

Eigenfunctions via weighted, regularized SVD
tf_approx_linear

Inter- and extrapolation functions for tfd-objects
functionwise

Summarize each tf in a vector
prep_plotting_arg

Preprocess evaluation grid for plotting
ensure_list

Turns any object into a list
tf_zoom

Functions to zoom in/out on functions
tf_where

Find out where functional data fulfills certain conditions.
tf_interpolate

Re-evaluate tf-objects on a new grid of argument values.
tf_smooth

Simple smoothing of tf objects
tf_evaluate

Evaluate tf-vectors for given argument values
tf_rebase

Change (basis) representation of a tf-object
tf_rgp

Gaussian Process random generator
tfb

Constructors for functional data in basis representation