Learn R Programming

jackstraw (version 1.2)

jackstraw_kmeans: Non-Parametric Jackstraw for K-means Clustering

Description

Test the cluster membership for K-means clustering

Usage

jackstraw_kmeans(dat, kmeans.dat, s = NULL, B = NULL, covariate = NULL,
  verbose = FALSE, pool = TRUE, seed = NULL, ...)

Arguments

dat

a matrix with m rows as variables and n columns as observations.

kmeans.dat

an output from applying kmeans() onto dat.

s

a number of ``synthetic'' null variables. Out of m variables, s variables are independently permuted.

B

a number of resampling iterations.

covariate

a model matrix of covariates with n observations. Must include an intercept in the first column.

verbose

a logical specifying to print the computational progress. By default, FALSE.

pool

a logical specifying to pool the null statistics across all clusters. By default, TRUE.

seed

a seed for the random number generator.

...

optional arguments to control the k-means clustering algorithm (refers to kmeans).

Value

jackstraw_kmeans returns a list consisting of

F.obs

m observed F statistics between variables and cluster centers.

F.null

F null statistics between null variables and cluster centers, from the jackstraw method.

p.F

m p-values of membership.

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.

The input data (dat) must be of a class `matrix`.

References

Chung (2018) Statistical significance for cluster membership. biorxiv, doi:10.1101/248633 https://www.biorxiv.org/content/early/2018/01/16/248633

Examples

Run this code
# NOT RUN {
set.seed(1234)
dat = t(scale(t(Jurkat293T), center=TRUE, scale=FALSE))
kmeans.dat <- kmeans(dat, centers=2, nstart = 10, iter.max = 100)
jackstraw.out <- jackstraw_kmeans(dat, kmeans.dat)
# }

Run the code above in your browser using DataLab