getNcomp: Get optimal number of components

Description Usage Arguments Value See Also Examples

View source: R/getNcomp.R

Description

Compute the average silhouette coefficient for a given set of components on a mixOmics result. Foreach given ncomp, the mixOmics method is performed with the sames arguments and the given 'ncomp'. Longitudinal clustering is performed and average silhouette coefficient is computed.

Usage

1
getNcomp(object, max.ncomp = NULL, X, Y = NULL, indY = NULL, ...)

Arguments

object

A mixOmics object of the class 'pca', 'spca', 'mixo_pls', 'mixo_spls', 'block.pls', 'block.spls'

max.ncomp

integer, maximum number of component to include. If no argument is given, 'max.ncomp=object$ncomp'

X

a numeric matrix/data.frame or a list of data.frame for block.pls

Y

(only for pls, optional for block.spls) a numeric matrix, with the same nrow as X

indY

(optional and only for block.pls, if Y is not provided), an integer which indicates the position of the matrix response in the list X

...

Other arguments to be passed to methods (pca, pls, block.pls)

Value

getNcomp returns a list with class "ncomp.tune.silhouette" containing the following components:

ncomp

a vector containing the tested ncomp

silhouette

a vector containing the average silhouette coefficient by ncomp

dmatrix

the distance matrix used to compute silhouette coefficient

See Also

getCluster, silhouette, pca, pls, block.pls

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
# random input data
demo <- suppressWarnings(get_demo_cluster())

# pca
pca.res <- mixOmics::pca(X=demo$X, ncomp = 5)
res.ncomp <- getNcomp(pca.res, max.ncomp = 4, X = demo$X)
plot(res.ncomp)

# pls
pls.res <- mixOmics::pls(X=demo$X, Y=demo$Y)
res.ncomp <- getNcomp(pls.res, max.ncomp = 4, X = demo$X, Y=demo$Y)
plot(res.ncomp)

# block.pls
block.pls.res <- suppressWarnings(mixOmics::block.pls(X=list(X=demo$X, Z=demo$Z), Y=demo$Y))
res.ncomp <- suppressWarnings(getNcomp(block.pls.res, max.ncomp = 4,
                                       X=list(X=demo$X, Z=demo$Z), Y=demo$Y))
plot(res.ncomp)

timeOmics documentation built on Nov. 8, 2020, 10:58 p.m.