  Time series are measured and analyzed across the sciences. One method of
quantifying the structure of time series is by calculating a set of summary
statistics or `features', and then representing a time series in terms of its
properties as a feature vector. The resulting feature space is interpretable
and informative, and enables conventional statistical learning approaches,
including clustering, regression, and classification, to be applied to
time-series datasets. Many open-source software packages for computing sets of
time-series features exist across multiple programming languages, including
catch22 (22 features: Matlab, R, Python, Julia), feasts (42 features: R),
tsfeatures (63 features: R), Kats (40 features: Python), tsfresh (779 features:
Python), and TSFEL (390 features: Python). However, there are several issues:
(i) a singular access point to these packages is not currently available; (ii)
to access all feature sets, users must be fluent in multiple languages; and
(iii) these feature-extraction packages lack extensive accompanying
methodological pipelines for performing feature-based time-series analysis,
such as applications to time-series classification. Here we introduce a
solution to these issues in an R software package called theft: Tools for
Handling Extraction of Features from Time series. theft is a unified and
extendable framework for computing features from the six open-source
time-series feature sets listed above. It also includes a suite of functions
for processing and interpreting the performance of extracted features,
including extensive data-visualization templates, low-dimensional projections,
and time-series classification operations. With an increasing volume and
complexity of time-series datasets in the sciences and industry, theft provides
a standardized framework for comprehensively quantifying and interpreting
informative structure in time series.
