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

    selectVar(...)

    ## S3 method for class 'mixo_pls'
    selectVar(object, comp = 1, block = NULL, ...)

    ## S3 method for class 'mixo_spls'
    selectVar(object, comp = 1, block = NULL, ...)

    ## S3 method for class 'pca'
    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

`...` | other 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)

### Details

`selectVar` provides the variables selected on a given component. \

list("name")

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

list("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, Al J Abadi

### 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.14.1 Index]