selectVar {mixOmics} | R Documentation

## 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 class 'mixo_pls'
    selectVar(object, comp =1, block=NULL,...)
    ## S3 method for class 'pca'
    selectVar(object, comp =1, block=NULL,...)
    ## S3 method for class 'mixo_spls'
    selectVar(object, comp =1, block=NULL,...)
    ## S3 method for class 'sgcca'
    selectVar(object, comp =1, block=NULL, ...)
    ## S3 method for class 'rgcca'
    selectVar(object, comp =1, block=NULL, ...)

### Arguments

`object` | object of class inherited 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.

### Value

none

### Author(s)

Kim-Anh Lê Cao, Florian Rohart.

### Examples

    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

    ## Not run:
    #example with sIPCA
    # -----------------

    liver.sipca <- sipca(X, ncomp = 3, keepX = rep(10, 3))
    selectVar(liver.sipca, comp = 1)

    # example with sPLS
    # -----------------

    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),]

    # example with sGCCA
    # -----------------

    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 = TRUE)
    #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

    ## End(Not run)

[Package mixOmics version 6.10.9 Index]