% Generated by roxygen2: do not edit by hand % Please edit documentation in R/AllGenerics.R, R/pseudo_samples-methods.R \name{pseudo_samples} \alias{pseudo_samples} \alias{pseudo_samples,matrix,data.frame-method} \alias{pseudo_samples,matrix,vector-method} \alias{pseudo_samples,Seurat,character-method} \alias{pseudo_samples,SummarizedExperiment,character-method} \title{Aggregate single cells to pseudo-samples according to specific factors} \usage{ pseudo_samples( data, by, fun = c("sum", "mean"), scale = NULL, min.cells = 0, max.cells = Inf, slot = "counts" ) \S4method{pseudo_samples}{matrix,data.frame}( data, by, fun = c("sum", "mean"), scale = NULL, min.cells = 0, max.cells = Inf, slot = "counts" ) \S4method{pseudo_samples}{matrix,vector}( data, by, fun = c("sum", "mean"), scale = NULL, min.cells = 0, max.cells = Inf, slot = "counts" ) \S4method{pseudo_samples}{Seurat,character}( data, by, fun = c("sum", "mean"), scale = NULL, min.cells = 0, max.cells = Inf, slot = "counts" ) \S4method{pseudo_samples}{SummarizedExperiment,character}( data, by, fun = c("sum", "mean"), scale = NULL, min.cells = 0, max.cells = Inf, slot = "counts" ) } \arguments{ \item{data}{a matrix or Seurat/SCE object containing expression and metadata} \item{by}{a vector of group names or dataframe for aggregation} \item{fun}{chr, methods used to aggregate cells, could be 'sum' or 'mean', default 'sum'} \item{scale}{a num or NULL, if to multiply a scale to the average expression} \item{min.cells}{num, default 300, the minimum size of cells aggregating to each pseudo-sample} \item{max.cells}{num, default 600, the maximum size of cells aggregating to each pseudo-sample} \item{slot}{chr, specify which slot of seurat object to aggregate, can be 'counts', 'data', 'scale.data'..., default is 'counts'} } \value{ An expression matrix after aggregating cells on specified factors } \description{ Gather cells for each group according to specified factors, then randomly assign and aggregate cells to each pseudo-samples with randomized cell size. (min.cells <= size <= max.cells) } \examples{ counts <- matrix(abs(rnorm(10000, 10, 10)), 100) rownames(counts) <- 1:100 colnames(counts) <- 1:100 meta <- data.frame( subset = rep(c("A", "B"), 50), level = rep(1:4, each = 25) ) rownames(meta) <- 1:100 scRNA <- SeuratObject::CreateSeuratObject(counts = counts, meta.data = meta) pseudo_samples(scRNA, by = c("subset", "level"), min.cells = 10, max.cells = 20 ) }