downsample matrix by cluster or completely random
Usage
downsample_matrix(
mat,
n = 1,
keep_cluster_proportions = TRUE,
metadata = NULL,
cluster_col = "cluster"
)
Arguments
- mat
expression matrix
- n
number per cluster or fraction to keep
- keep_cluster_proportions
whether to subsample
- metadata
data.frame or vector containing cluster assignments per cell. Order must match column order in supplied matrix. If a data.frame provide the cluster_col parameters.
- cluster_col
column in metadata with cluster number
Examples
set.seed(42)
mat <- downsample_matrix(
mat = pbmc_matrix_small,
metadata = pbmc_meta$classified,
n = 10,
keep_cluster_proportions = TRUE
)
mat[1:3, 1:3]
#> 3 x 3 sparse Matrix of class "dgCMatrix"
#> ACGTCGCTTCTCAT TTACCATGTTGTGG CCTGACTGTGTCTT
#> PPBP . . .
#> LYZ . 2.633919 2.592335
#> S100A9 . . .