DIABLO tuning and warning


I am using DIABLO to integrate two different omics datasets in a supervised manner. However, when I am ‘creating’ my design with the code:

pls.res ← pls (X,Y, ncomp = 1)
cor(pls.res$variates$X, pls.res$variates$Y)

I get the following warning message:

warning message:
In cor(A[[k]], variates.A[[k]] : the standard deviation is zero

I got this warning message also when using two other datasets. The correlation between the datasets is usually really high (like 0.95). And I get this warning with the block.splsda code as well. I do get, as far as I can judge, good models as outcome. Is this warning message a problem? Could this be a problem of pre-filtering the datasets (as is suggested in: Filtering large data to use with DIABLO)? I do not get the warning when using the breast.TCGA dataset, so it is not my machine/laptop (I suspected that first). I also think the number of components is not the problem (as suggested in: Integration with genotype data) since I already get the warning with 1 component.

Then I had another question about the DIABLO tuning (with the perf function). When I do this with the two datasets (the first ones I mentioned). I get the error: r in '.rowNamesDF ← '(x, value=value) : missing values in 'row.names’are not allowed. But the rownames are specified and I use the exact same code as I have used before, so I dont know what is going wrong here. Can you help?

Kind regards,
Lonneke Nouwen

Hi @lonnekenouwen,

Thanks for using mixOmics.

It’s most likely due to presence of nearly constant variables. You can use near.zero.var = TRUE with PLS-derived functions to filter those in the analysis.

This is difficult to diagnose without knowing the inputs to the function. It would be helpful if you could send us in confidentiality the code and the data so we can have a closer look. Please ensure all inputs and the code are provided.

You can click on this text to send us an email.
Alternatively, you can right-click on the above text and choose ‘Copy Email Address’