Skip to content

tf 0.4.0

Choose a tag to compare

@fabian-s fabian-s released this 19 Mar 15:16
· 235 commits to main since this release

New features

  • tf_register() & co implement registration methods (SRVF, affine, landmark,
    continuous-criterion) for aligning functions and analyzing phase variability.
    Returns a new tf_registration class with accessors tf_aligned(),
    tf_inv_warps(), tf_template().
  • tf_depth() now implements five functional depth methods: MBD (default), MHI,
    FM (Fraiman-Muniz), FSD (Functional Spatial Depth), and RPD (Regularized
    Projection Depth). MHI ranks functions from lowest (0) to highest (1); all
    other depths are scaled from 0 (most extreme) to 1 (most central).
    MBD is now scaled to [0, 1] instead of [0, 0.5].
  • tf_split() / tf_combine() for splitting functions into sub-domain
    fragments and re-combining them
  • tf_rgp() gains a "brownian_bridge" covariance option and can generate
    irregular data via the new irreg argument
  • tfb_spline() now converts fda::fd and fda::fdSmooth objects directly
  • mgcv-style Fourier basis constructor for use in tfb_spline()
  • sparklines in print() / format() for all tf subtypes
  • tf_where() now defaults to arg = tf_arg(x), consistent with other functions
  • as.matrix() for irregular tfd now always interpolates to a common grid

Bug fixes

  • tf_derive() for tfd objects now uses second-order accurate finite
    differences, preserving the original domain and grid (#59)
  • major overhaul of NA handling: NA entries are now consistently represented as
    NULL internally; fixes for tf_arg(), tf_evaluate(), tf_smooth(),
    tfd() conversion, is.na(), printing, and arithmetic with NA entries
  • fix summary.tf() returning wrong central range
  • fix tfd domain enforcement for length-1 data (#139)
  • fix printing for empty tfb objects and all-NA vectors

Other changes

  • tf_derive and tf_integrate can now handle tfb with non-identity link functions
    by falling back to tfd-calculus methods (and returning tfd objects).
  • tfd_irreg arithmetic now operates on intersection of arg-values instead
    of failing when arg-values are not identical
  • tfb arithmetic fix
  • dropped glue dependency in favour of cli / sprintf;
    replaced stopifnot() with informative cli::cli_abort() throughout
  • use vctrs::vec_arith() for group generics, vctrs utils in [.tf
  • various internal performance improvements
  • use air formatter for all R code