R: NP-integration for integration with variable selection

mint.block.spls {mixOmics} | R Documentation

## NP-integration for integration with variable selection

### Description

Function to integrate data sets measured on the same samples (N-integration) and to combine multiple independent studies (P-integration) using variants of sparse multi-group and generalised PLS with variable selection (unsupervised analysis).

### Usage

    mint.block.spls(X,
    Y,
    indY,
    study,
    ncomp = 2,
    keepX,
    keepY,
    design,
    scheme,
    mode,
    scale = TRUE,
    init ,
    tol = 1e-06,
    max.iter = 100,
    near.zero.var = FALSE,
    all.outputs = TRUE)

### Arguments

`X` | A list of data sets (called 'blocks') measured on the same samples. Data in the list should be arranged in samples x variables, with samples order matching in all data sets.
`Y` | Matrix or vector response for a multivariate regression framework. Data should be continuous variables (see block.splsda for supervised classification and factor reponse)
`indY` | To supply if Y is missing, indicates the position of the matrix / vector response in the list `X`
`study` | factor indicating the membership of each sample to each of the studies being combined
`ncomp` | the number of components to include in the model. Default to 2.
`keepX` | A list of same length as X. Each entry is the number of variables to select in each of the blocks of X for each component. By default all variables are kept in the model.
`keepY` | Only if Y is provided. Each entry is the number of variables to select in each of the blocks of Y for each component. By default all variables are kept in the model.
`design` | numeric matrix of size (number of blocks in X) x (number of blocks in X) with 0 or 1 values. A value of 1 (0) indicates a relationship (no relationship) between the blocks to be modelled. If `Y` is provided instead of `indY`, the `design` matrix is changed to include relationships to `Y`.
`scheme` | Either "horst", "factorial" or "centroid". Default = `horst`, see reference.
`mode` | character string. What type of algorithm to use, (partially) matching one of `"regression"`, `"canonical"`, `"invariant"` or `"classic"`. See Details.
`scale` | boleean. If scale = TRUE, each block is standardized to zero means and unit variances (default: TRUE)
`init` | Mode of initialization use in the algorithm, either by Singular Value Decompostion of the product of each block of X with Y ("svd") or each block independently ("svd.single"). Default = `svd.single`.
`tol` | Convergence stopping value.
`max.iter` | integer, the maximum number of iterations.
`near.zero.var` | boolean, see the internal `nearZeroVar` function (should be set to TRUE in particular for data with many zero values). Setting this argument to FALSE (when appropriate) will speed up the computations. Default value is FALSE
`all.outputs` | boolean. Computation can be faster when some specific (and non-essential) outputs are not calculated. Default = `TRUE`.

### Details

The function fits sparse multi-group generalised PLS models with a specified number of `ncomp` components. An outcome needs to be provided, either by `Y` or by its position `indY` in the list of blocks `X`.

Multi (continuous)response are supported. `X` and `Y` can contain missing values. Missing values are handled by being disregarded during the cross product computations in the algorithm `block.pls` without having to delete rows with missing data. Alternatively, missing data can be imputed prior using the `nipals` function.

The type of algorithm to use is specified with the `mode` argument. Four PLS algorithms are available: PLS regression `("regression")`, PLS canonical analysis `("canonical")`, redundancy analysis `("invariant")` and the classical PLS algorithm `("classic")` (see References and more details in `?pls`).

### Value

`mint.block.spls` returns an object of class `"mint.spls", "block.spls"`, a list that contains the following components:

`X` | the centered and standardized original predictor matrix.
`Y` | the centered and standardized original response vector or matrix.
`ncomp` | the number of components included in the model for each block.
`mode` | the algorithm used to fit the model.
`mat.c` | matrix of coefficients from the regression of X / residual matrices X on the X-variates, to be used internally by `predict`.
`variates` | list containing the X and Y variates.
`loadings` | list containing the estimated loadings for the variates.
`names` | list containing the names to be used for individuals and variables.
`nzv` | list containing the zero- or near-zero predictors information.
`tol` | the tolerance used in the iterative algorithm, used for subsequent S3 methods
`max.iter` | the maximum number of iterations, used for subsequent S3 methods
`iter` | Number of iterations of the algorthm for each component

### Author(s)

Florian Rohart, Benoit Gautier, Kim-Anh Lê Cao

### References

Rohart F, Eslami A, Matigian, N, Bougeard S, Lê Cao K-A (2017). MINT: A multivariate integrative approach to identify a reproducible biomarker signature across multiple experiments and platforms. BMC Bioinformatics 18:128.

Eslami, A., Qannari, E. M., Kohler, A., and Bougeard, S. (2014). Algorithms for multi-group PLS. J. Chemometrics, 28(3), 192-201.

### See Also

`spls`, `summary`, `plotIndiv`, `plotVar`, `predict`, `perf`, `mint.block.pls`, `mint.block.plsda`, `mint.block.splsda` and http://www.mixOmics.org/mixMINT for more details.

### Examples

    # we will soon provide more examples on our website (data too large to be included in the package
    # and still in active development)

[Package mixOmics version 6.3.2 Index]