
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 an example dataset
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).
A basic introduction to the package using the example dataset is
given in vignette("Cornejo2025_analysis").
This vignette and all function documentation can be found here.
The NPLStoolbox package can be installed from CRAN
using:
install.packages("NPLStoolbox")You can install the development version of NPLStoolbox from GitHub with:
# install.packages("pak")
pak::pak("GRvanderPloeg/NPLStoolbox")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)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.