Learn R Programming

NPLStoolbox

Overview

The NPLStoolbox allows researchers to use the N-way Partial Least Squares method for their multi-way data.

  • ncrossreg() allows the user to identify the appropriate number of NPLS components for their data.
  • triPLS1() allows the user to create an NPLS model.
  • npred() allows the user to predict y for new data.

This package also comes with two example datasets:

  • Cornejo2025: a clinical observational cohort study of 39 transgender persons starting gender-affirming hormone therapy, containing longitudinally measured tongue microbiome, salivary microbiome, salivary cytokine, salivary biochemistry, and circulatory hormone levels (doi TBD).
  • Jakobsen2025: an observational cohort of 169 mother-infant dyads investigating the effect of maternal obesity on human milk and the infant gut microbiome https://doi.org/10.21203/rs.3.rs-6244750/v1.

Documentation

A basic introduction to the package using the example dataset is given in vignette("Introduction").

This vignette and all function documentation can be found here.

Installation

The NPLStoolbox package can be installed from CRAN using:

install.packages("NPLStoolbox")

Development version

You can install the development version of NPLStoolbox from GitHub with:

# install.packages("pak")
pak::pak("GRvanderPloeg/NPLStoolbox")

Usage

library(parafac4microbiome)
library(NPLStoolbox)
set.seed(123)

# Process one of the data cubes from Cornejo2025
processedTongue = processDataCube(Cornejo2025$Tongue_microbiome, sparsityThreshold=0.5, considerGroups=TRUE, groupVariable="GenderID", centerMode=1, scaleMode=2)

# Prepare Y: binarized gender identity
Y = as.numeric(as.factor(Cornejo2025$Tongue_microbiome$mode1$GenderID))
Ycnt = Y - mean(Y)

# Make a one-component NPLS model
model = triPLS1(processedTongue$data, Ycnt, 1)

Getting help

If you encounter an unexpected error or a clear bug, please file an issue with a minimal reproducible example here on Github. For questions or other types of feedback, feel free to send an email.

Copy Link

Version

Install

install.packages('NPLStoolbox')

Monthly Downloads

166

Version

1.1.0

License

MIT + file LICENSE

Issues

Pull Requests

Stars

Forks

Maintainer

Geert Roelof van der Ploeg

Last Published

July 31st, 2025

Functions in NPLStoolbox (1.1.0)

Jakobsen2025

Jakobsen2025 longitudinal dataset measured in mother-infant dyads
npred

Predict Y for new data by projecting the data onto the latent space defined by an NPLS model.
Cornejo2025

Cornejo2025 longitudinal dataset measured in transgender persons
ncrossreg

Cross-validation of NPLS by classical K-fold CV.
triPLS1

Tri-PLS1: three-way PLS regressed onto a y vector