Generalized PCA for non-normally distributed data. If you find this useful please cite Feature Selection and Dimension Reduction based on a Multinomial Model. (doi:10.1186/s13059-019-1861-6)
A python implementation is also available.
The glmpca package is available from CRAN. To install the stable release (recommended):
install.packages("glmpca")
To install the development version:
remotes::install_github("willtownes/glmpca")
library(glmpca)
#create a simple dataset with two clusters
mu<-rep(c(.5,3),each=10)
mu<-matrix(exp(rnorm(100*20)),nrow=100)
mu[,1:10]<-mu[,1:10]*exp(rnorm(100))
clust<-rep(c("red","black"),each=10)
Y<-matrix(rpois(prod(dim(mu)),mu),nrow=nrow(mu))
#visualize the latent structure
res<-glmpca(Y, 2)
factors<-res$factors
plot(factors[,1],factors[,2],col=clust,pch=19)
For more details see the vignettes. For compatibility with Bioconductor, see scry. For compatibility with Seurat objects, see Seurat-wrappers.
Please use https://github.com/willtownes/glmpca/issues to submit issues, bug reports, and comments.
Any scripts or data that you put into this service are public.
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.