ispca: Integrative sparse principal component analysis

View source: R/ispca.R

ispcaR Documentation

Integrative sparse principal component analysis

Description

This function provides a penalty-based integrative sparse principal component analysis method to obtain the direction of first principal component of the multiple datasets with high dimensions generated under similar protocols, which consists of two built-in penalty items for selecting the important variables for users to choose, and two contrasted penalty functions for eliminating the diffierence (magnitude or sign) between estimators within each group.

Usage

ispca(x, L, mu1, mu2, eps = 1e-04, pen1 = "homogeneity",
  pen2 = "magnitude", scale.x = TRUE, maxstep = 50,
  submaxstep = 10, trace = FALSE, draw = FALSE)

Arguments

x

list of data matrices, L datasets of explanatory variables.

L

numeric, number of data sets.

mu1

numeric, sparsity penalty parameter.

mu2

numeric, contrasted penalty parameter.

eps

numeric, the threshold at which the algorithm terminates.

pen1

character, "homogeneity" or "heterogeneity" type of the sparsity structure. If not specified, the default is homogeneity.

pen2

character, "magnitude" or "sign" based contrasted penalty. If not specified, the default is magnitude.

scale.x

character, "TRUE" or "FALSE", whether or not to scale the variables x. The default is TRUE.

maxstep

numeric, maximum iteration steps. The default value is 50.

submaxstep

numeric, maximum iteration steps in the sub-iterations. The default value is 10.

trace

character, "TRUE" or "FALSE". If TRUE, prints out its screening results of variables.

draw

character, "TRUE" or "FALSE". If TRUE, plot the convergence path of loadings.

Value

An 'ispca' object that contains the list of the following items.

  • x: list of data matrices, L datasets of explanatory variables with centered columns. If scale.x is TRUE, the columns of L datasets are standardized to have mean 0 and standard deviation 1.

  • eigenvalue: the estimated first eigenvalue.

  • eigenvector: the estimated first eigenvector.

  • component: the estimated first component.

  • variable: the screening results of variables.

  • meanx: list of numeric vectors, column mean of the original datasets x.

  • normx: list of numeric vectors, column standard deviation of the original datasets x.

References

  • Fang K, Fan X, Zhang Q, et al. Integrative sparse principal component analysis[J]. Journal of Multivariate Analysis, 2018, 166: 1-16.

See Also

See Also as preview.pca, ispca.cv, meta.spca, spca.

Examples

# Load a list with 3 data sets
library(iSFun)
data("simData.pca")
x <- simData.pca$x
L <- length(x)

prev_pca <- preview.pca(x = x, L = L, scale.x = TRUE)
res_homo_m <- ispca(x = x, L = L, mu1 = 0.5, mu2 = 0.002, trace = TRUE, draw = TRUE)


res_homo_s <- ispca(x = x, L = L, mu1 = 0.5, mu2 = 0.002,
                    pen1 = "homogeneity", pen2 = "sign", scale.x = TRUE,
                    maxstep = 50, submaxstep = 10, trace = FALSE, draw = FALSE)

res_hete_m <- ispca(x = x, L = L, mu1 = 0.1, mu2 = 0.05,
                    pen1 = "heterogeneity", pen2 = "magnitude", scale.x = TRUE,
                    maxstep = 50, submaxstep = 10, trace = FALSE, draw = FALSE)

res_hete_s <- ispca(x = x, L = L, mu1 = 0.1, mu2 = 0.05,
                    pen1 = "heterogeneity", pen2 = "sign", scale.x = TRUE,
                    maxstep = 50, submaxstep = 10, trace = FALSE, draw = FALSE)


iSFun documentation built on March 18, 2022, 7:41 p.m.

Related to ispca in iSFun...