Skip to content

waves

0.2.7Package record

Vis-NIR Spectral Analysis Wrapper

0packages depend
3.5Kdownloads / year
0.0%test coverage
13/13flavors OK

Overview

About
Maintained by Jenna HershbergerCRAN page ↗GitHub ↗Website ↗Issues ↗Declared funder: NSF BREAD IOS-1543958

Originally designed application in the context of resource-limited plant research and breeding programs, 'waves' provides an open-source solution to spectral data processing and model development by bringing useful packages together into a streamlined pipeline. This package is wrapper for functions related to the analysis of point visible and near-infrared reflectance measurements. It includes visualization, filtering, aggregation, preprocessing, cross-validation set formation, model training, and prediction functions to enable open-source association of spectral and reference data. This package is documented in a peer-reviewed manuscript in the Plant Phenome Journal doi:10.1002/ppj2.20012. Specialized cross-validation schemes are described in detail in Jarquín et al. (2017) doi:10.3835/plantgenome2016.12.0130. Example data is from Ikeogu et al. (2017) doi:10.1371/journal.pone.0188918.

Changes in 0.2.7
  • Bug fix: Fixed namespace resolution error with lifecycle::deprecated() function calls that was causing "could not find function deprecated" errors for users. All function parameters now properly use lifecycle::deprecated() instead of deprecated().
  • Bug fix: train_spectra() now correctly populates RMSEcv and R2cv for rf, svmLinear, and svmRadial model methods. Previously these were always NA for non-PLS models.
  • Bug fix: Replaced deprecated tidyr and dplyr functions across plot_spectra(), aggregate_spectra(), train_spectra(), and the ikeogu.2017 example to resolve deprecation warnings.
  • Internal: Fixed trainControl() configuration in train_spectra() — changed method from "repeatedcv" (with no repeats set) to "cv" and removed a malformed seeds argument that was being silently ignored. Reproducibility is maintained via the existing set.seed() call.
  • Bug fix: The final RF model returned by train_spectra() is now trained with 500 trees (the randomForest default) instead of tune.length (≤5). The tuned mtry from training iterations is now correctly applied to the final model.
  • Bug fix: The final SVM model returned by train_spectra() no longer incorrectly uses the unique.id column as a predictor. Training data is now subset to reference and spectral columns only, consistent with iterative model training.
  • Bug fix: The final PLS model returned by train_spectra() is now fit using the modal best ncomp from training iterations rather than tune.length. predict_spectra() now reads ncomp directly from the model object instead of the stats file.
  • Bug fix: train_spectra() now correctly subsets partitioned data using column names rather than pre-computed indices, preventing an undefined columns selected crash when cv.scheme is used (the genotype column is removed by format_cv() before subsetting).
  • Bug fix: train_spectra() now correctly determines the training data for the final model when cv.scheme is used. It calls format_cv() one final time to obtain the training set defined by the chosen scheme: CV0/CV00 train on trial2 + trial3; CV1 trains on t1.b + t2.b; CV2 trains on t1.b + trial2. In all schemes the test set is t1.a (held-out genotypes from trial1).
  • Bug fix: test_spectra() now correctly forwards best.model.metric and seed to train_spectra(). Previously these arguments were accepted but silently ignored.
  • Bug fix: train_spectra() now calls set.seed() before createDataPartition(), ensuring that stratified train/test splits are fully reproducible. Previously, set.seed() was called after createDataPartition(), so the partition depended on whatever the random state happened to be at call time. **Note on reproducibility:** users who called test_spectra() with a non-default seed were previously receiving results generated with seed = 1 regardless of the value they set. To reproduce old results, set seed = 1 explicitly. This will restore previous iterative performance statistics (RMSEp, R2p, etc.), but the returned $model object will still differ due to the RF, SVM, and PLS final model fixes also introduced in this version.
  • Bug fix: Removed invalid ntree and mtry arguments from predict.randomForest() calls in train_individual_model() and predict_spectra(). These arguments are not accepted by predict.randomForest() and were silently ignored.
Show all changes in 0.2.7Hide the rest of the changes in 0.2.7
  • Bug fix: Fixed corrupted importance output when running test_spectra() with multiple pretreatments and an SVM model. Previously, cbind() on a NULL importance element produced a garbage 1×1 matrix instead of NULL.

From NEWS.md in the release

Install

Health

CRAN checks
13OK
Slowest check: 6.8 min · r-release-macos-x86_64
Status changes
  • OK13 OK2026-08-04
  • NOTE12 OK, 1 NOTE2026-08-01
  • OK13 OK2026-06-09
  • ERROR12 OK, 1 ERROR2026-06-08
  • NOTE12 OK, 1 NOTE2026-06-07
Show 3 earlier changesHide 3 earlier changes
  • OK13 OK2026-05-02
  • ERROR11 OK, 1 ERROR2026-04-25
  • OK14 OK2026-03-10
Advisories

none known

Documentation

In release 0.2.7
READMEYes · 551 wordsVignettesYes · 1 · dynamicNEWSYes · 100% structured · mentions 0.2.7Citation fileYes · cites a publicationWebsiteYes · pkgdown
Help pages
11 (1 internal)
Examples that run
50%5 run in a plain check · 4 only when donttest examples are enabled (R CMD check --as-cran) · 1 never run
Exported functions with examples
90%
Documented parameters
90%
Return-value docs
90%
Help pages citing references
27%
Vignettes (1)

Downloads

3.5K
CRAN downloads in the past year
Rank #9,002 · ~9/day · ~289/mo
Daily download trend is not available in this view yet.
36130 days
1.1K90 days
3.5K1 year
Compare downloads with other packages →
Also on124 r2u1 autocran

Repository

8Stars
6Forks
6Open issues
0Open PRs
10Releases
186Commits
3Commit identities
186 commits · Last activity 2026-07-28 · 0% stars, 30d · Default branch at 0.2.7.9000, ahead of CRAN 0.2.7 (checked 2026-10-18)
Responsiveness
How these are sampled
PRs merged (all time)
100%
Median days to close, 50 most recently updated closed issues
43
Median days to close, 50 most recently updated closed PRs
0

Stars over time

2025-10-09 · 72026-07-07 · 8
PracticesBeta

10 development-tooling and community-health practices detected across 6 families in the upstream repository

Checks run against github.com/gorelab/waves on 2026-10-18.

Continuous integration (2)
GitHub ActionsR CMD check workflow

The R CMD check workflow runs on Linux, macOS and Windows, and on R-devel

Governance and community (1)
Contributing guide
Docs source (3)
pkgdown

GitHub Pages site last deployed 2026-07-28 · The repository has a site deploy workflow

pkgdown site last built 2026-06-02

Reproducibility and dev environment (1)
data-raw/
Show all practicesHide 2 practices
CRAN release process (2)
cran-comments.mdrevdep/
Lint, format, editor (1)
RStudio project
How this is detected·Detection ruleset v3 (2026-09-26)

Dependencies

Declared dependencies
19 external dependencies (excludes base and recommended)

Installing waves adds 127 packages (73 with compiled code, 118 MB of source tarballs). Heaviest: stringi 11 MB, sf 9.3 MB, prospectr 6.2 MB.

Depends (1)
R >= 4.1.0
LinkingTo (0)
none
Enhances (0)
none
Reverse dependencies
0direct
0indirect

Nothing depends on this yet.

Datasets

People & History

People (3)
Author, Maintainer since 0.1.0 (2020)
Thesis advisor
Releases (10)

Pick two releases to compare their code metrics.

  • 0.2.7Latest
    record
    2026-06-02 · current release · diff ↗
  • R
    R 4.6.0 released · 2026-04-24
  • unarchivedReturned to CRAN
    2025-10-31
  • 0.2.6
    record
    2025-10-31 · diff ↗
  • archivedRemoved from CRAN
    2025-06-02
    requires archived package 'spectacles'
  • R
    R 4.5.0 released · 2025-04-11
  • R
    R 4.4.0 released · 2024-04-24
  • 0.2.5
    record
    2023-12-12 · diff ↗
  • R
    R 4.3.0 released · 2023-04-21
  • R
    R 4.2.0 released · 2022-04-22
  • 0.2.4
    record
    2022-03-29 · diff ↗
  • 0.2.3
    record
    2022-03-07 · diff ↗
  • 0.2.2
    record
    2022-02-18 · diff ↗
  • 0.2.1
    record
    2022-02-03 · diff ↗
  • 0.2.0
    record
    2022-01-21 · diff ↗ ·
    added 9 exports
    aggregate_spectra, filter_spectra, format_cv, plot_spectra, predict_spectra, pretreat_spectra, save_model, test_spectra, train_spectra
  • R
    R 4.1.0 released · 2021-05-18
Show 3 earlier eventsHide 3 earlier events

Package metadata

First published
2020-09-17
Total releases
10 / 6 yrs
License
MIT + file LICENSE OSI
Minimum R
≥ 4.1.0
Bundled data
1.9 MB / 1 file
Download size
2.9 MB
Appears in task views

Cite

Cite this package

Run in R for the authors' entry:

citation("waves")

The package provides a citation file, so citation() returns the authors' own entry.

It points to 10.1002/ppj2.20012.

Cite the R Observatory

For a number measured here: a download total, a coverage figure, an archival date.

APA

Balamuta, J. J. (2026). R Observatory: Metrics for waves version 0.2.7 [Data set]. HJJB, LLC. Data release v2026-10-22. https://doi.org/10.5281/zenodo.21843040

From data release v2026-10-22, which the citation names so these numbers can be found later. More on citing and the projects behind them.

Report a problem with this page →

Privacy choices

These apply to this browser and are stored on this device only. Nothing about your choice is sent to us.

Read the privacy policy