Skip to contents
processedFaeces = parafac4microbiome::processDataCube(Jakobsen2025$faeces, sparsityThreshold=0.75, centerMode=1, scaleMode=2)
processedMilk = parafac4microbiome::processDataCube(Jakobsen2025$milkMicrobiome, sparsityThreshold=0.85, centerMode=1, scaleMode=2)
processedMilkMetab = parafac4microbiome::processDataCube(Jakobsen2025$milkMetabolomics, CLR=FALSE, centerMode=1, scaleMode=2)
modelFaeces = parafac4microbiome::parafac(processedFaeces$data, nfac=2, nstart=100)
modelMilk = parafac4microbiome::parafac(processedMilk$data, nfac=3, nstart=100)
modelMilkMetab = parafac4microbiome::parafac(processedMilkMetab$data, nfac=3, nstart=100)
# Reprocess milkMetabolomics because one sample has no BMI info
# The other two are ok
mask = !is.na(Jakobsen2025$milkMetabolomics$mode1$BMI)
newMilkMetabolomics = Jakobsen2025$milkMetabolomics
newMilkMetabolomics$data = newMilkMetabolomics$data[mask,,]
newMilkMetabolomics$mode1 = newMilkMetabolomics$mode1[mask,]
processedMilkMetab = parafac4microbiome::processDataCube(newMilkMetabolomics, CLR=FALSE, centerMode=1, scaleMode=2)

# Make models
Y = Jakobsen2025$faeces$mode1$BMI
Ycnt = Y - mean(Y)
faeces_NPLS = triPLS1(processedFaeces$data, Ycnt, 1)

Y = Jakobsen2025$milkMicrobiome$mode1$BMI
Ycnt = Y - mean(Y)
milk_NPLS = triPLS1(processedMilk$data, Ycnt, 1)

Y = processedMilkMetab$mode1$BMI
Ycnt = Y - mean(Y)
milkMetab_NPLS = triPLS1(processedMilkMetab$data, Ycnt, 1)