Learn R Programming

mixOmics (version 6.3.0)

selectVar: Output of selected variables

Description

This function outputs the selected variables on each component for the sparse versions of the approaches (was also generalised to the non sparse versions for our internal functions).

Usage

# S3 method for pls
selectVar(object, comp =1, block=NULL,…)
# S3 method for pca
selectVar(object, comp =1, block=NULL,…)
# S3 method for spls
selectVar(object, comp =1, block=NULL,…)
# S3 method for sgcca
selectVar(object, comp =1, block=NULL, …)
# S3 method for rgcca
selectVar(object, comp =1, block=NULL, …)

Arguments

object

object of class inheriting from "pls", "spls", "plsda","splsda", "pca", "spca", "sipca".

comp

integer value indicating the component of interest.

block

for an object of class "sgcca", the block data sets can be specified as an input vector, for example c(1,2) for the first two blocks. Default to NULL (all block data sets)

other arguments.

Details

selectVar provides the variables selected on a given component. \

name

outputs the name of the selected variables (provided that the input data have colnames) ranked in decreasing order of importance.

value

outputs the loading value for each selected variable, the loadings are ranked according to their absolute value.

These functions are only implemented for the sparse versions.

Examples

Run this code
# NOT RUN {
data(liver.toxicity)
X = liver.toxicity$gene
Y = liver.toxicity$clinic

# example with sPCA
# ------------------
liver.spca <- spca(X, ncomp = 1, keepX = 10)
selectVar(liver.spca, comp = 1)$name
selectVar(liver.spca, comp = 1)$value

#example with sIPCA
# -----------------
# }
# NOT RUN {
liver.sipca <- sipca(X, ncomp = 3, keepX = rep(10, 3))
selectVar(liver.sipca, comp = 1)
# }
# NOT RUN {
# example with sPLS
# -----------------
# }
# NOT RUN {
liver.spls = spls(X, Y, ncomp = 2, keepX = c(20, 40),keepY = c(5, 5))
selectVar(liver.spls, comp = 2)

# example with sPLS-DA
data(srbct)   # an example with no gene name in the data
X = srbct$gene
Y = srbct$class

srbct.splsda = splsda(X, Y, ncomp = 2, keepX = c(5, 10))
select = selectVar(srbct.splsda, comp = 2)
select
# this is a very specific case where a data set has no rownames. 
srbct$gene.name[substr(select$select, 2,5),]  
# }
# NOT RUN {
# example with sGCCA
# -----------------
# }
# NOT RUN {
data(nutrimouse)

# ! need to unmap the Y factor
Y = unmap(nutrimouse$diet)
data = list(gene = nutrimouse$gene, lipid = nutrimouse$lipid,Y)
# in this design, gene expression and lipids are connected to the diet factor
# and gene expression and lipids are also connected
design = matrix(c(0,1,1,
                  1,0,1,
                  1,1,0), ncol = 3, nrow = 3, byrow = T)
#note: the penalty parameters need to be tuned
wrap.result.sgcca = wrapper.sgcca(X = data, design = design, penalty = c(.3,.3, 1),
                                  ncomp = 2,
                                  scheme = "horst")

#variables selected and loadings values on component 1 for the two blocs
selectVar(wrap.result.sgcca, comp = 1, block = c(1,2))

#variables selected on component 1 for each block
selectVar(wrap.result.sgcca, comp = 1, block = c(1,2))$'gene'$name
selectVar(wrap.result.sgcca, comp = 1, block = c(1,2))$'lipid'$name

#variables selected on component 2 for each block 
selectVar(wrap.result.sgcca, comp = 2, block = c(1,2))$'gene'$name
selectVar(wrap.result.sgcca, comp = 2, block = c(1,2))$'lipid'$name

# loading value of the variables selected on the first block
selectVar(wrap.result.sgcca, comp = 1, block = 1)$'gene'$value
# }
# NOT RUN {
# }

Run the code above in your browser using DataLab