Skip to contents

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

Value

new smaller mat with less cell_id columns

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              .       .              .