mergeRows
/mergeCols
merge data on rows or columns of a
SummarizedExperiment
as defined by a factor
alongside the
chosen dimension. Metadata from the rowData
or colData
are
retained as defined by archetype
.
mergeRows(x, f, archetype = 1L, ...)
mergeCols(x, f, archetype = 1L, ...)
mergeFeatures(x, f, archetype = 1L, ...)
mergeSamples(x, f, archetype = 1L, ...)
# S4 method for SummarizedExperiment
mergeRows(x, f, archetype = 1L, ...)
# S4 method for SummarizedExperiment
mergeCols(x, f, archetype = 1L, ...)
# S4 method for SummarizedExperiment
mergeFeatures(x, f, archetype = 1L, ...)
# S4 method for SummarizedExperiment
mergeSamples(x, f, archetype = 1L, ...)
# S4 method for TreeSummarizedExperiment
mergeRows(x, f, archetype = 1L, mergeTree = FALSE, mergeRefSeq = FALSE, ...)
# S4 method for TreeSummarizedExperiment
mergeCols(x, f, archetype = 1L, mergeTree = FALSE, ...)
# S4 method for TreeSummarizedExperiment
mergeFeatures(
x,
f,
archetype = 1L,
mergeTree = FALSE,
mergeRefSeq = FALSE,
...
)
# S4 method for TreeSummarizedExperiment
mergeSamples(x, f, archetype = 1L, mergeTree = FALSE, ...)
A factor for merging. Must be the same length as
nrow(x)/ncol(x)
. Rows/Cols corresponding to the same level will be
merged. If length(levels(f)) == nrow(x)/ncol(x)
, x
will be
returned unchanged.
Of each level of f
, which element should be regarded
as the archetype and metadata in the columns or rows kept, while merging?
This can be single integer value or an integer vector of the same length
as levels(f)
. (Default: archetype = 1L
, which means the first
element encountered per factor level will be kept)
Optional arguments:
Passed on to sumCountsAcrossFeatures
,
with the exception of subset_row
, subset_col
TRUE
or FALSE
: Should
rowTree()
also be merged? (Default: mergeTree = FALSE
)
TRUE
or FALSE
: Should a consensus sequence
be calculated? If set to FALSE
, the result from archetype
is
returned; If set to TRUE
the result from
DECIPHER::ConsensusSequence
is
returned. (Default: mergeRefSeq = FALSE
)
An object of the same class as x
with the specified entries
merged into one entry in all relevant components.
assay
are
agglomerated, i.e. summed up. If the assay contains values other than counts
or absolute values, this can lead to meaningless values being produced.
These functions are similar to
sumCountsAcrossFeatures
.
However, additional support for TreeSummarizedExperiment
was added and
science field agnostic names were used. In addition the archetype
argument lets the user select how to preserve row or column data.
For merge data of assays the function from scuttle
are used.
data(esophagus)
esophagus
#> class: TreeSummarizedExperiment
#> dim: 58 3
#> metadata(0):
#> assays(1): counts
#> rownames(58): 59_8_22 59_5_13 ... 65_9_9 59_2_6
#> rowData names(0):
#> colnames(3): B C D
#> colData names(0):
#> reducedDimNames(0):
#> mainExpName: NULL
#> altExpNames(0):
#> rowLinks: a LinkDataFrame (58 rows)
#> rowTree: 1 phylo tree(s) (58 leaves)
#> colLinks: NULL
#> colTree: NULL
plot(rowTree(esophagus))
# get a factor for merging
f <- factor(regmatches(rownames(esophagus),
regexpr("^[0-9]*_[0-9]*",rownames(esophagus))))
merged <- mergeRows(esophagus,f, mergeTree = TRUE)
plot(rowTree(merged))
#
data(GlobalPatterns)
GlobalPatterns
#> class: TreeSummarizedExperiment
#> dim: 19216 26
#> metadata(0):
#> assays(1): counts
#> rownames(19216): 549322 522457 ... 200359 271582
#> rowData names(7): Kingdom Phylum ... Genus Species
#> colnames(26): CL3 CC1 ... Even2 Even3
#> colData names(7): X.SampleID Primer ... SampleType Description
#> reducedDimNames(0):
#> mainExpName: NULL
#> altExpNames(0):
#> rowLinks: a LinkDataFrame (19216 rows)
#> rowTree: 1 phylo tree(s) (19216 leaves)
#> colLinks: NULL
#> colTree: NULL
merged <- mergeCols(GlobalPatterns,colData(GlobalPatterns)$SampleType)
merged
#> class: TreeSummarizedExperiment
#> dim: 19216 9
#> metadata(0):
#> assays(1): counts
#> rownames(19216): 549322 522457 ... 200359 271582
#> rowData names(7): Kingdom Phylum ... Genus Species
#> colnames(9): Feces Freshwater ... Soil Tongue
#> colData names(7): X.SampleID Primer ... SampleType Description
#> reducedDimNames(0):
#> mainExpName: NULL
#> altExpNames(0):
#> rowLinks: a LinkDataFrame (19216 rows)
#> rowTree: 1 phylo tree(s) (19216 leaves)
#> colLinks: NULL
#> colTree: NULL