A collection of personal functions designed to simplify and
    streamline common R programming tasks. This package provides reusable
    tools and shortcuts for frequently used calculations and workflows.

Memoization can be used to speed up repetitive and computational expensive function calls.  The first time a function that implements memoization is called the results are stored in a cache memory.  The next time the function is called with the same set of parameters, the results are momentarily retrieved from the cache avoiding repeating the calculations.  With this package, any R object can be cached in a key-value storage where the key can be an arbitrary set of R objects.  The cache memory is persistent (on the file system).

Common Dimensions (ComDim) is a multi-block method that simultaneously
    considers multiple data tables to find latent components that are common
    to all the tables as well as those specific to each data table, along
    with the contribution of each table to each component.
    See Jouan-Rimbaud Bouveresse and Rutledge (2024)
    <doi:10.1002/cem.3454>, Boccard and Rutledge (2013)
    <doi:10.1016/j.aca.2013.01.022>, and Puig-Castellví et al. (2021)
    <doi:10.1016/j.chemolab.2021.104422>.

Functions for creating plots and image files in a unified way
    regardless of output format (EPS, PDF, PNG, SVG, TIFF, WMF, etc.). Default
    device options as well as scales and aspect ratios are controlled in a uniform
    way across all device types. Switching output format requires minimal changes
    in code. This package is ideal for large-scale batch processing, because it
    will never leave open graphics devices or incomplete image files behind, even on
    errors or user interrupts.

A file set refers to a set of files located in one or more directories on the file system.  This package provides classes and methods to locate, setup, subset, navigate and iterate such sets.  The API is designed such that these classes can be extended via inheritance to provide a richer API for special file formats.  Moreover, a specific name format is defined such that filenames and directories can be considered to have full names which consists of a name followed by comma-separated tags.  This adds additional flexibility to identify file sets and individual files.  NOTE: This package's API should be considered to be in an beta stage.  Its main purpose is currently to support the aroma.* packages, where it is one of the main core components; if you decide to build on top of this package, please contact the author first.