Description Usage Arguments Details Value Author(s) References See Also Examples
Performs independent principal component analysis on the given data matrix, a combination of Principal Component Analysis and Independent Component Analysis.
1 2 3 4 5 6 7 8 9 10 
X 
a numeric matrix (or data frame). 
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, choose one of 
fun 
the function used in approximation to negentropy in the FastICA
algorithm. Default set to 
scale 
(Default=FALSE) Logical indicating whether the variables should be
scaled to have unit variance before the analysis takes place. The default is

w.init 
initial unmixing matrix (unlike fastICA, this matrix is fixed here). 
max.iter 
integer, the maximum number of iterations. 
tol 
a positive scalar giving the tolerance at which the unmixing matrix is considered to have converged, see fastICA package. 
In PCA, the loading vectors indicate the importance of the variables in the principal components. In large biological data sets, the loading vectors should only assign large weights to important variables (genes, metabolites ...). That means the distribution of any loading vector should be superGaussian: most of the weights are very close to zero while only a few have large (absolute) values.
However, due to the existence of noise, the distribution of any loading vector is distorted and tends toward a Gaussian distribtion according to the Central Limit Theroem. By maximizing the nonGaussianity of the loading vectors using FastICA, we obtain more noiseless loading vectors. We then project the original data matrix on these noiseless loading vectors, to obtain independent principal components, which should be also more noiseless and be able to better cluster the samples according to the biological treatment (note, IPCA is an unsupervised approach).
Algorithm 1. The original data matrix is centered.
2. PCA is used to reduce dimension and generate the loading vectors.
3. ICA (FastICA) is implemented on the loading vectors to generate independent loading vectors.
4. The centered data matrix is projected on the independent loading vectors to obtain the independent principal components.
ipca
returns a list with class "ipca"
containing the
following components:
ncomp 
the number of independent principal components used. 
unmixing 
the unmixing matrix of size (ncomp x ncomp) 
mixing 
the mixing matrix of size (ncomp x ncomp) 
X 
the centered data matrix 
x 
the indepenent principal components 
loadings 
the independent loading vectors 
kurtosis 
the kurtosis measure of the independent loading vectors 
Fangzhou Yao, Jeff Coquery, KimAnh Lê Cao, Florian Rohart, Al J Abadi
Yao, F., Coquery, J. and Lê 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(45):411430
J L Marchini, C Heaton and B D Ripley (2010). fastICA: FastICA Algorithms to perform ICA and Projection Pursuit. R package version 1.113.
sipca
, pca
, plotIndiv
,
plotVar
, and http://www.mixOmics.org for more details.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22  data(liver.toxicity)
# implement IPCA on a microarray dataset
ipca.res < ipca(liver.toxicity$gene, ncomp = 3, mode="deflation")
ipca.res
# samples representation
plotIndiv(ipca.res, ind.names = as.character(liver.toxicity$treatment[, 4]),
group = as.numeric(as.factor(liver.toxicity$treatment[, 4])))
## Not run:
plotIndiv(ipca.res, cex = 0.01,
col = as.numeric(as.factor(liver.toxicity$treatment[, 4])),style="3d")
## End(Not run)
# variables representation
plotVar(ipca.res, cex = 0.5)
## Not run:
plotVar(ipca.res, rad.in = 0.5, cex = 0.5,style="3d")
## End(Not run)

Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.