jackstraw_kmeanspp {jackstraw} | R Documentation |
Non-Parametric Jackstraw for K-means Clustering using RcppArmadillo
Description
Test the cluster membership for K-means clustering, using K-means++ initialization
Usage
jackstraw_kmeanspp(
dat,
kmeans.dat,
s = NULL,
B = NULL,
center = TRUE,
covariate = NULL,
verbose = FALSE,
pool = TRUE,
...
)
Arguments
dat |
a matrix with |
kmeans.dat |
an output from applying |
s |
a number of “synthetic” null variables. Out of |
B |
a number of resampling iterations. |
center |
a logical specifying to center the rows. By default, |
covariate |
a model matrix of covariates with |
verbose |
a logical specifying to print the computational progress. By default, |
pool |
a logical specifying to pool the null statistics across all clusters. By default, |
... |
optional arguments to control the k-means clustering algorithm (refers to |
Details
K-means clustering assign m
rows into K
clusters. This function enable statistical
evaluation if the cluster membership is correctly assigned. Each of m
p-values refers to
the statistical test of that row with regard to its assigned cluster.
Its resampling strategy accounts for the over-fitting characteristics due to direct computation of clusters from the observed data
and protects against an anti-conservative bias.
Generally, it functions identical to jackstraw_kmeans
, but this uses ClusterR::KMeans_rcpp
instead of stats::kmeans
.
A speed improvement is gained by K-means++ initialization and RcppArmadillo
. If the input data is still too large,
consider using jackstraw_MiniBatchKmeans
.
The input data (dat
) must be of a class 'matrix'.
Value
jackstraw_kmeanspp
returns a list consisting of
F.obs |
|
F.null |
F null statistics between null variables and cluster centers, from the jackstraw method. |
p.F |
|
Author(s)
Neo Christopher Chung nchchung@gmail.com
References
Chung (2020) Statistical significance of cluster membership for unsupervised evaluation of cell identities. Bioinformatics, 36(10): 3107–3114 https://academic.oup.com/bioinformatics/article/36/10/3107/5788523
Examples
## Not run:
library(ClusterR)
dat = t(scale(t(Jurkat293T), center=TRUE, scale=FALSE))
kmeans.dat <- KMeans_rcpp(dat, clusters = 10, num_init = 1,
max_iters = 100, initializer = 'kmeans++')
jackstraw.out <- jackstraw_kmeanspp(dat, kmeans.dat)
## End(Not run)