Learn R Programming

⚠️There's a newer version (1.3.17) of this package.Take me there.

jackstraw: Statistical Inference for Unsupervised Learning

This R package performs association tests between the observed data and their systematic patterns of variation. Systematic variation can be modeled by latent variables, that are likely arising from biological processes, experimental conditions, and environmental factors. We are often interested in estimating these patterns using principal component analysis (PCA), factor analysis (FA), K-means clustering, partition around medoids (PAM), and related methods. The jackstraw methods learn over-fitting characteristics inherent in unsupervised learning, where the observed data are used to estimate the systematic patterns and to be tested again.

Using a variety of unsupervised learning techniques, the jackstraw provides a resampling strategy and testing scheme to estimate statistical significance of association between the observed data and their systematic patterns of variation. For example, the cell cycle in microarray data may be estimated by principal components (PCs); then, we can use the jackstraw for PCA to identify genes that are significantly associated with these PCs. On the other hand, cell identities in single cell RNA-seq data are identified by K-means clustering; then, the jackstraw for clustering can evaluate reliability of computationally determined cell identities.

The jackstraw tests enable us to identify the variables (or observations) that are driving systematic variation, in an unsupervised manner. Using jackstraw_pca, we can find statistically significant variables with regard to the top r principal components. Alternatively, jackstraw_kmeans can identify the variables that are statistically significant members of clusters. There are many functions to support statistical inference for unsupervised learning, such as finding a number of PCs or clusters and estimating posterior probabilities from jackstraw p-values. Furthermore, this package includes more general and experimental algorithms such as jackstraw_subspace for the dimension reduction techniques and jackstraw_cluster for the clustering algorithms.

Chung, N.C. (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

Chung, N.C. and Storey, J.D. (2015) Statistical significance of variables driving systematic variation in high-dimensional data. Bioinformatics, 31(4): 545-554 https://academic.oup.com/bioinformatics/article/31/4/545/2748186

Installation

To use a stable version from CRAN:

install.packages("jackstraw")

To use a development version from GitHub:

install.packages("devtools")
library("devtools")
install_github("ncchung/jackstraw")

Troubleshooting

Some of dependencies may fail to automatically install, particularlay lfa and qvalue from Bioconductor. This would result in a warning similar to:

Error: package or namespace load failed for ‘jackstraw’ in loadNamespace(j <- i[[1L]], c(lib.loc, .libPaths()), versionCheck = vI[[j]]):
 there is no package called ‘lfa’

Then, please install these two packages manually using the following command:

source("https://bioconductor.org/biocLite.R")
biocLite(c('lfa', 'qvalue'))

Thanks to idc9 for raising this issue.

Copy Link

Version

Install

install.packages('jackstraw')

Monthly Downloads

311

Version

1.3.1

License

GPL-2

Issues

Pull Requests

Stars

Forks

Maintainer

Neo Chung

Last Published

June 11th, 2021

Functions in jackstraw (1.3.1)

jackstraw

jackstraw: Statistical Inference for Unsupervised Learning
jackstraw_MiniBatchKmeans

Non-Parametric Jackstraw for Mini Batch K-means Clustering
jackstraw_cluster

Jackstraw for the User-Defined Clustering Algorithm
jackstraw_kmeanspp

Non-Parametric Jackstraw for K-means Clustering using RcppArmadillo
jackstraw_subspace

Jackstraw for the User-Defined Dimension Reduction Methods
jackstraw_kmeans

Non-Parametric Jackstraw for K-means Clustering
jackstraw_irlba

Non-Parametric Jackstraw for Principal Component Analysis (PCA) using the augmented implicitly restarted Lanczos bidiagonalization algorithm (IRLBA)
jackstraw_lfa

Non-Parametric Jackstraw for Logistic Factor Analysis
Jurkat293T

A Jurkat:293T equal mixture dataset from Zheng et. al. (2017)
dev.R

Compute Deviance for Logistic Factors
jackstraw_pca

Non-Parametric Jackstraw for Principal Component Analysis (PCA)
efron_Rsq

Efron's Pseudo R-sqaured
find_k

Find a number of clusters or principal components
jackstraw_pam

Non-Parametric Jackstraw for Partitioning Around Medoids (PAM)
lfa.corpcor

Logistic Factor Analysis without C++ Dependency
pseudo_Rsq

Mcfadden's Pseudo R-sqaured
permutationPA

Permutation Parallel Analysis
pip

Compute posterior inclusion probabilities (PIPs)
devdiff

Difference in Deviances
jackstraw_rpca

Non-Parametric Jackstraw for Principal Component Analysis (PCA) using Randomized Singular Value Decomposition
devdiff_parallel

Difference in Deviances, in Parallel