Learn R Programming

mixOmics (version 5.1.2)

sipca: Independent Principal Component Analysis

Description

Performs sparse independent principal component analysis on the given data matrix to enable variable selection.

Usage

sipca(X, ncomp, mode = c("deflation","parallel"),
          fun = c("logcosh", "exp"),
          scale = FALSE, max.iter = 200,
          tol = 1e-04, keepX = rep(50,ncomp),
          w.init=NULL)

Arguments

X
a numeric matrix (or data frame) which provides the data for the principal component analysis.
ncomp
integer, number of independent component to choose. Set by default to 3.
mode
character string. What type of algorithm to use when estimating the unmixing matrix, (partially) matching one of "deflation", "parallel". Default set to deflation.
fun
the function used in approximation to neg-entropy in the FastICA algorithm. Default set to logcosh, see details of FastICA.
scale
a logical value indicating whether rows of the data matrix X should be standardized beforehand.
max.iter
integer, maximum number of iterations to perform.
tol
a positive scalar giving the tolerance at which the un-mixing matrix is considered to have converged, see fastICA package.
keepX
the number of variable to keep on each dimensions.
w.init
initial un-mixing matrix (unlike FastICA, this matrix is fixed here).

Value

  • pca returns a list with class "ipca" containing the following components:
  • ncompthe number of principal components used.
  • unmixingthe unmixing matrix of size (ncomp x ncomp)
  • mixingthe mixing matrix of size (ncomp x ncomp
  • Xthe centered data matrix
  • xthe principal components (with sparse independent loadings)
  • loadingsthe sparse independent loading vectors
  • kurtosisthe kurtosis measure of the independent loading vectors

encoding

latin1

Details

See Details of ipca.

Soft thresholding is implemented on the independent loading vectors to obtain sparse loading vectors and enable variable selection.

References

Yao, F., Coquery, J. and Le Cao, K.-A. (2011) Principal component analysis with independent loadings: a combination of PCA and ICA. (in preparation)

A. Hyvarinen and E. Oja (2000) Independent Component Analysis: Algorithms and Applications, Neural Networks, 13(4-5):411-430

J L Marchini, C Heaton and B D Ripley (2010). fastICA: FastICA Algorithms to perform ICA and Projection Pursuit. R package version 1.1-13.

See Also

ipca, pca, plotIndiv, plotVar, plot3dIndiv, plot3dVar and http://www.mixOmics.org for more details.

Examples

Run this code
data(liver.toxicity)

# implement IPCA on a microarray dataset
sipca.res <- sipca(liver.toxicity$gene, ncomp = 3, mode="deflation", keepX=c(50,50,50))
sipca.res

# samples representation
plotIndiv(sipca.res, ind.names = liver.toxicity$treatment[, 4], 
          group = as.numeric(as.factor(liver.toxicity$treatment[, 4])))
plot3dIndiv(sipca.res, cex = 0.01,
            col = as.numeric(as.factor(liver.toxicity$treatment[, 4])))
plot3dVar(sipca.res, rad.in = 0.5, var.label = TRUE, cex = 0.5)

Run the code above in your browser using DataLab