Split an Assay
# S3 method for Seurat
split(x, f, drop = FALSE, assay = NULL, layers = NA, ...)
Depends on the value of ret
:
“assay
”: x
with the layers requested in
layers
split based on f
; all other layers are left as-is
“multiassay
”: a list of Assay5
objects;
the list contains one value per split and each assay contains only the
layers requested in layers
with the key set to the split
“layers
”: a list of matrices of length
length(assays) * length(unique(f))
; the list is named as
“layer.split
”
An Assay5
object
a ‘factor’ in the sense that as.factor(f)
defines the grouping, or a list of such factors in which case their
interaction is used for the grouping. If x
is a data frame,
f
can also be a formula of the form ~ g
to split by
the variable g
, or more generally of the form ~ g1 +
... + gk
to split by the interaction of the variables
g1
, ..., gk
, where these variables are evaluated in
the data frame x
using the usual non-standard evaluation
rules.
logical indicating if levels that do not occur should be dropped
(if f
is a factor
or a list).
Names of layers to include in the split; pass NA
for
all layers; pass NULL
for the default layer
Ignored
This function uses
progressr to
render status updates and progress bars. To enable progress updates, wrap
the function call in with_progress
or run
handlers(global = TRUE)
before running
this function. For more details about progressr, please read
vignette("progressr-intro")