Why does my plotLong look so messy from multilevel pls?

I’m integrating longitudinal saliva metabolites and OTU data. This day has been collected roughly every 60 days for 1 year ( 7 timepoints) from approx 50 subjects.

I have alr transformed the OTU data with the timepoint 1 being the reference. I have log and pareto scaled the metabolites.

Instead of running the steps of the Time Omics such as removing those with low coefficient of variation and then running the splines, I have run GAM models:

OTU/Metabolite ~ days + age + sex

And extracted out the OTU and metabolites that were significantly changing over time (both linearly and non-linearly).

When I integrate this data using:

pls_res <- pls(X=otu_alrX, Y=neg_globalY, scale = T, ncomp=4, mode="canonical", multilevel=design) ##design being my list of subject IDs

getNcomp.res <- getNcomp(pls_res, X=otu_alrX, Y=neg_globalY)

plot(getNcomp.res)

pls_res2 <- pls(X=otu_alrX, Y=neg_globalY, scale = T, ncomp=1, mode="canonical", multilevel=design)

plotLong(object = pls_res2, title = "Block-PLS Clusters, scale = TRUE", legend = TRUE)

My plot looks very messy with no clear patterns at all - why might this be? Is the data just too noisy to interpret in this way using multilevel design?

hi @blueb,

You don’t need a multilevel in this case, I think this is what is causing the issue.

Instead, follow this vignette carefully, where you model the trajectories across the same group of patients, across time, so that you end up with a matrix (T x p) as an input in PLS.

Hope that helps
Kim-Anh