I have a question about function of cimDiablo

I have a question about function of cimDiablo.
I am currently working on the oral microbiome, integrating 16S sequence data and fungal ITS sequence data using mixOmics (spls-da) to create a disease discrimination model. I have been working on determining the number of components (ncomp) and keepX by referring to the tutorial.
The ncomp is 4.
I drew a cluster image heatmap in cimDiablo, but if I set the option of comp = NULL, will it merge the 4 components and cluster them into a heatmap?
Setting the comp option to 1 or 2 would result in a very different heatmap.
I am just getting started with mixOmics and would appreciate some basic information about cimDiablo.

if I set the option of comp = NULL, will it merge the 4 components and cluster them into a heatmap?

Setting comp to NULL forces cimDiablo to use the default comp value, which is 1.

Setting the comp option to 1 or 2 would result in a very different heatmap.

That is because your model has selected different features to use on each component. By changing the comp parameter, the features displayed in the heatmap will change.

some basic information about cimDiablo.

I’d recommend exploring the help files via ?cim and ?cimDiablo This will likely be the best place for you to start. As a brief outline, CIM (Clustered Image Maps) are used to show the structure of your data in a clustered fashion. cimDiablo allows us to see how the samples relate to one another, across all groups and blocks. From it, we can determine how samples and features cluster, which may elucidate some information about the biological system underlying our data.

More information can be found at the CIM Graphics Page and the DIABLO Case Study (scroll towards the bottom of the latter).

Thanks for teaching me.
But with my data
cimDiablo(sgccda.res, comp = NULL, size.legend = 0.8, margin=c(5,15))
and run it, vs. typing
cimDiablo(sgccda.res, comp = 1, size.legend = 0.8, margin=c(5,15))
will result in a very different heatmap.
comp=NULL would be the same heatmap if comp = 1.
sorry…

Ah you were right originally! The documentation for the function is incorrect. Setting comp to NULL will use all components up to the minimum ncomp of the blocks provided to the DIABLO method

Thank you very much for your kindness!
It is very helpful because I just started using mixOmics. I think mixOmics is a very useful package.
I would like to ask you one more additional point.
If I enter auc.splsda = auroc(sgccda.res, roc.block = “r16S”, roc.comp = 2) and display ROC curve, can I only draw ROC curve and AUC value for each component?
I am using mixOmics to integrate fungal and bacterial data this time, but is it possible to draw a ROC curve with the component compressed to the minimum as in the heatmap when comp = NULL?
Sorry for adding this question. Kindly let me know and thank you for your kind help.

With the auroc() function, if you set it to roc.comp=1, it will just use information from the first component. If you set it to roc.comp=2, it will use components 1 and 2, with roc.comp=3 using the first three components and so on.

Happy to have been of assistance!

Thank you for your kindness. I see that the ROC curve with the setting roc.comp = 1 uses only the features of component 1, and if I set roc.comp = 2, it will draw the curve with both 1 and 2 features. So the curve drawn with roc.comp = 2 has a higher AUC value, meaning it is a more accurate model. Thank you very much.You have helped me a lot.

1 Like