rollupTree
The recursive-computation engine under massProps grows the accessors its consumer needed
A side-by-side editorial comparison of prospectr and tf — release velocity, themes, recent moves, and the top alternatives to consider.
prospectr spent its biggest release in years fixing spectra it had been quietly mangling.
prospectr provides the signal-processing layer for near-infrared and visible spectroscopy in R — Savitzky-Golay and gap-segment derivatives, standard normal variate, detrending, continuum removal, splice correction, plus calibration sampling algorithms like Kennard-Stone and DUPLEX and readers for ASD and BUCHI NIRCal instrument files. The May release is the substantial one: a long list of corrections to functions that were returning wrong or missing values rather than failing.
tf gave functional data a second dimension: curves whose values are vectors.
tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.
prospectr provides the signal-processing layer for near-infrared and visible spectroscopy in R — Savitzky-Golay and gap-segment derivatives, standard normal variate, detrending, continuum removal, splice correction, plus calibration sampling algorithms like Kennard-Stone and DUPLEX and readers for ASD and BUCHI NIRCal instrument files. The May release is the substantial one: a long list of corrections to functions that were returning wrong or missing values rather than failing.
The recent work is corrective rather than additive, and several items changed results silently before being caught. continuumRemoval() derived its convex-hull boundary offset from a fixed one-wavelength assumption that broke for fine-resolution spectra or non-nanometre units; cochranTest() passed an invalid argument name to prcomp() and produced incorrect principal component scores; readASD() silently dropped spectra in one branch of its text path. Two file readers were leaking connections. Alongside that runs a smaller thread of decoupling preprocessing steps from each other, most visibly detrend() gaining an snv argument so polynomial detrending can run without the SNV transform that Barnes et al. bundled with it.
The detrend() decoupling is the only recent addition and it fits a broader pipeline-composition direction, so similar separation of other bundled preprocessing steps is the plausible next move. The misspelled substraction argument now carries a deprecation warning, which schedules its removal for a future release.
tf supplies the vector classes underneath the tidyfun stack — tfd for raw functional observations, tfb for basis-represented ones, both built on vctrs so curves sit in a data frame column and behave like any other vector. Until July that codomain was scalar. The 0.5.0 release adds tfd_mv and tfb_mv, classes for functions whose values are vectors in R^d, and rebuilds the analysis verbs to match.
The package is widening what a functional observation can be, then porting the toolkit onto it. Registration arrived first in 0.4.0 for univariate curves and immediately gained an srvf_mv method for aligning components jointly, and tfb_mfpc() ports principal component analysis to the multivariate case with a single set of scores shared across components. Alongside that runs steady dependency shedding — mvtnorm and pracma both replaced by inlined samplers that reproduce prior draws bit-for-bit, glue dropped for cli in the previous release — and an unusually long tail of NA-handling and edge-case fixes, several caught in pre-release review of the new classes.
The new classes ship with FPCA, registration and shape alignment but the release notes describe tidyfun::tf_unnest() as the consumer of one new export, so the visible next step is the rest of the tidyfun stack catching up to vector-valued columns. Expect follow-up patches on the vctrs casting paths, which is where most of this release's late fixes clustered.
Other Infra & APIs products tracked by Sparkpulse, ranked by recent ship velocity. Each card links to a full editorial trajectory and lets you pivot into a head-to-head comparison with either prospectr or tf.
The recursive-computation engine under massProps grows the accessors its consumer needed
A mass-properties rollup spends a year on documentation and follows its sibling's API
Six months of releases and not one of them touched the scoring models
A cognitive-science sampling package ships once, then goes quiet for eighteen months
A Bayesian volatility sampler in its maintenance decade, paying for its own speed
A black-box interpreter reaches CRAN, then learns multi-class and survival responses
See all prospectr alternatives → · See all tf alternatives →
Latest ship moves from both products, interleaved chronologically. ⚡ = editorial spark.
Both compete on the same themes — r-packages — within Infra & APIs. prospectr and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). See the at-a-glance table above for a side-by-side breakdown of velocity, recent sparks, and editorial themes.
Sparkpulse doesn't pick a winner — we score release velocity, not feature parity. prospectr and tf are shipping at a similar cadence (velocity 0.0 vs 0.0, both within Sparkpulse's "active" band). For your specific use case, the alternatives sections above list other Infra & APIs products to evaluate alongside.
Top prospectr alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "prospectr alternatives" section above for the current picks, or visit /alternatives/prospectr for the full list with editorial commentary on each.
Top tf alternatives in Infra & APIs are ranked by recent ship velocity. Browse the "tf alternatives" section above for the current picks, or visit /alternatives/tf for the full list with editorial commentary on each.