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.