The cim() function could not take block.pls or block.spls objects at all which seemed to be a shortcoming of the function. This functionality has been added in a few different ways:
the blocks parameter has been added to allow users to control which blocks are depicted from the block.(s)pls object in a CIM. Can be an integer or character vector.
If mapping == "X", "Y" or "XY", cim() will function similarly to if it were operating on a mixo_pls object. blocks must be of length 2
If mapping == "multiblock", then cim() will function similarly tocimDiablo(), such that all features from the included blocks are depicted as columns and are coloured by their block. In this case,blocks` can include 2 or more blocks.
This PR also required a bit of style adjustment and refactor of the cim() function just to get it all working. This included moving the object lists declarations to the start of the function and changing object.pca to object.single.omics as it includes mixo_plsda objects
The
cim()
function could not takeblock.pls
orblock.spls
objects at all which seemed to be a shortcoming of the function. This functionality has been added in a few different ways:blocks
parameter has been added to allow users to control which blocks are depicted from theblock.(s)pls
object in a CIM. Can be an integer or character vector.mapping == "X", "Y" or "XY"
,cim()
will function similarly to if it were operating on amixo_pls
object.blocks
must be of length 2mapping == "multiblock"
, thencim() will function similarly to
cimDiablo(), such that all features from the included blocks are depicted as columns and are coloured by their block. In this case,
blocks` can include 2 or more blocks.cim()
function just to get it all working. This included moving theobject
lists declarations to the start of the function and changingobject.pca
toobject.single.omics
as it includesmixo_plsda
objects