Functional data analysis (FDA) deals with data that
"provides information about curves, surfaces or anything else varying over a continuum."
This task view catalogues available packages in this rapidly developing field.
General functional data analysis

fda
provides functions to enable all aspects of functional data analysis: It includes objecttypes for functional data with corresponding functions for smoothing, plotting and regression models. The package includes data sets and script files for working examples from the book: Ramsay, J. O., Hooker, Giles, and Graves, Spencer (2009) "Data Analysis with R and Matlab" (Springer).

fdasrvf
performs alignment, PCA, and regression of multidimensional or unidimensional functions using the squareroot velocity framework (Srivastava et al., 2011). This framework allows for elastic analysis of functional data through phase and amplitude separation.

fdapace
provides functional principal component based methods for sparsely or densely sampled random trajectories and time courses for functional regression and correlation, for longitudinal data analysis, the analysis of stochastic processes from samples of realized trajectories, and for the analysis of underlying dynamics.

fda.usc
provides routines for exploratory and descriptive analysis of functional data such as depth measurements, outlier detection, as well as unsupervised and supervised classification, (univariate, nonparametric) regression models with a functional covariate and functional analysis of variance.

funData
provides S4 classes for univariate and multivariate functional and image data and utility functions.

fds
contains 19 data sets with functional data.

rainbow
contains functions and data sets for functional data display, exploratory analysis and outlier detection.

fdaoutlier
provides a collection of functions for functional data outlier detection. Methods implemented include directional outlyingness, MSplot, total variation depth, and sequential transformations among others.
Regression and classification for functional data

dbstats
provides prediction methods where explanatory information is coded as a matrix of distances between individuals. It includes distance based versions of
lm
and
glm,
as well as nonparametric versions of both, based on local estimation. To apply these methods to functional data it is sufficient to calculate a distance matrix between the observed functional data.

denseFLMM
and
sparseFLMM
estimate functional linear mixed models for densely and sparsely sampled data, respectively, based on functional principal component analysis.

fdANOVA
implements analysis of variance testing procedures for univariate and multivariate functional data

FDboost
implements flexible additive regression models and variable selection for scalaronfunction, functiononscalar and functiononfunction regression models that are fitted by a componentwise gradient boosting algorithm.

flars
implements variable selection for the functional linear regression with scalar response variable and mixed scalar/functional predictors based on the least angle regression approach.

GPFDA
uses functional regression as the mean structure and Gaussian processes as the covariance structure.

growfunctions
estimates a collection of timeindexed functions under either of Gaussian process (GP) or intrinsic Gaussian Markov random field (iGMRF) prior formulations where a Dirichlet process mixture allows subgroupings of the functions to share the same covariance or precision parameters. The GP and iGMRF formulations both support any number of additive covariance or precision terms, respectively, expressing either or both of multiple trend and seasonality.

refund
provides splinebased methods for roughness penalized functiononscalar, scalaronfunction, and functiononfunction regression as well as methods for functional PCA. Some of the functions are applicable to image data.

splinetree
implements regression trees and random forests for longitudinal or functional data using a spline projection method.
Clustering functional data

funFEM
's algorithm (Bouveyron et al., 2014) allows to cluster functional data by modeling the curves within a common and discriminative functional subspace.

funHDDC
provides the funHDDC algorithm (Bouveyron & Jacques, 2011) which allows to cluster functional data by modeling each group within a specific functional subspace.

funLBM
implements modelbased coclustering of functional data, i.e., simultaneously clustering the rows and the columns of a data matrix where each entry of the matrix is a function or a time series.

fdakma
performs clustering and alignment of a multidimensional or unidimensional functional dataset by means of kmean alignment.
Registering and aligning functional data

fdasrvf
performs alignment, PCA, and regression of multidimensional or unidimensional functions using the squareroot velocity framework (Srivastava et al., 2011). This framework allows for elastic analysis of functional data through phase and amplitude separation.

warpMix
implements warping (alignment) for functional data using Bspline based mixed effects models.

fdakma
performs clustering and alignment of a multidimensional or unidimensional functional dataset by means of kmean alignment.
Time series of functional data

ftsa
provides functions for visualizing, modeling, forecasting and hypothesis testing of functional time series.

ftsspec
provides functions for estimating the spectral density operator of functional time series (FTS) and comparing the spectral density operator of two functional time series, in a way that allows detection of differences of the spectral density operator in frequencies and along the curve length.

freqdom
provides frequency domain methods for multivariate and functional time series and implements dynamic functional principal components and functional regression in the presence of temporal dependence.

freqdom.fda
provides a wrapper for functionality of
freqdom
for objects from
fda

pcdpca
extends multivariate dynamic principal components to periodically correlated multivariate and functional time series.

fdaACF
contains functions to quantify the serial correlation across lags of a given functional
time series using an autocorrelation function for functional time series.
The autocorrelation function is based on the L2 norm of the lagged covariance operators of the series. Functions are available for estimating the distribution of the autocorrelation function under the assumption
of strong functional white noise. A brief illustration of the functionality of the proposed functions can be seen at
github.com/GMestreM/fdaACF
.
Other

covsep
provides functions for testing if the covariance structure of 2dimensional data is separable.

ddalpha
implements depthbased classification and calculation of data depth, also for functional data.

fdadensity
implements Petersen and Mueller (2016) (doi:10.1214/15AOS1363) for the analysis of samples of density functions via specialized Functional Principal Components Analysis.

fdatest
provides an implementation of the Interval Testing Procedure for functional data in different frameworks (i.e., one or twopopulation frameworks, functional linear models) by means of different basis expansions (i.e., Bspline, Fourier, and phaseamplitude Fourier).

fdcov
provides a variety of tools for the analysis of covariance operators.

fpca
implements functional principal components for sparsely observed data in a geometric approach to MLE for functional principal components.

geofd
provides Kriging based methods for predicting functional data (curves) with spatial dependence.

SCBmeanfd
provides methods for estimating and inferring the mean of functional data. The methods include simultaneous confidence bands, local polynomial fitting, bandwidth selection by plugin and crossvalidation, goodnessoffit tests for parametric models, equality tests for twosample problems, and plotting functions.

switchnpreg
provides functions for estimating the parameters from the latent state process and the functions corresponding to the J states as proposed by De Souza and Heckman (2013).
The Functional Data Analysis Task View is maintained by Fabian Scheipl (LMU München, Germany). Please
contact
him with suggestions, additions and improvements.