aggTSE {TreeSummarizedExperiment} | R Documentation

## Perform data aggregations based on the available tree structures

### Description

`aggTSE` aggregates values on the leaf nodes of a tree to a specific arbitrary level of the tree. The level is specified via the nodes of the tree. Users could decide on which dimension (row or column) and how should the aggregation be performed.

### Usage

    aggTSE(
      x,
      rowLevel = NULL,
      rowBlock = NULL,
      colLevel = NULL,
      colBlock = NULL,
      rowFun = sum,
      colFun = sum,
      whichRowTree = 1,
      whichColTree = 1,
      whichAssay = NULL,
      message = FALSE,
      rowDataCols,
      colDataCols,
      rowFirst = TRUE,
      BPPARAM = NULL
    )

### Arguments

`x` | A `TreeSummarizedExperiment` object.
`rowLevel` | A numeric (node numbers) or character (node labels) vector. It provides the level on the tree that data is aggregated to. The aggregation is on the row dimension. The default is `rowLevel = NULL`, and no aggregation is performed.
`rowBlock` | A column name in the `rowData` to separate the aggregation.
`colLevel` | A numeric (node numbers) or character (node labels) vector. It provides the level on the tree that data is aggregated to. The aggregation is on the column dimension. The default is `colLevel = NULL`, and no aggregation is performed.
`colBlock` | A column name in the `colData` to separate the aggregation.
`rowFun` | A function to be applied on the row aggregation. It's similar to the `FUN` in `apply`.
`colFun` | A function to be applied on the col aggregation. It's similar to the `FUN` in `apply`.
`whichRowTree` | A integer scalar or string indicating which row tree is used in the aggregation. The first row tree is used as default.
`whichColTree` | A integer scalar or string indicating which row tree is used in the aggregation. The first row tree is used as default.
`whichAssay` | A integer scalar or string indicating which assay of `x` to use in the aggregation. If NULL, all assay tables are used in aggregation.
`message` | A logical value. The default is TRUE. If TRUE, it will print out the running process.
`rowDataCols` | The rowData columns to include.
`colDataCols` | The colData columns to include.
`rowFirst` | TRUE or FALSE. If the aggregation is in both dims., it is performed firstly on the row dim for `rowFirst = TRUE` or on the column dim for `rowFirst = FALSE`.
`BPPARAM` | Default is `NULL` and the computation isn't run in parallel. To run computation parallelly, an optional `BiocParallelParam` instance determining the parallel back-end to be used during evaluation, or a list of BiocParallelParam instances, to be applied in sequence for nested calls to BiocParallel functions.

### Value

A `TreeSummarizedExperiment` object

### Author(s)

Ruizhu HUANG

### Examples

    # assays data
    set.seed(1)
    toyTable <- matrix(rnbinom(20, size = 1, mu = 10), nrow = 5)
    colnames(toyTable) <- paste(rep(LETTERS[1:2], each = 2),
                                rep(1:2, 2), sep = "_")
    rownames(toyTable) <- paste("entity", seq_len(5), sep = "")

    toyTable

    # the column data
    colInf <- DataFrame(gg = c(1, 2, 3, 3),
                        group = rep(LETTERS[1:2], each = 2),
                        row.names = colnames(toyTable))
    colInf

    # the toy tree
    library(ape)
    set.seed(4)
    treeC <- rtree(4)
    treeC$node.label <- c("All", "GroupA", "GroupB")

    library(ggtree)
    ggtree(treeC, size = 2) +
       geom_text2(aes(label = node), color = "darkblue",
               hjust = -0.5, vjust = 0.7, size = 6) +
        geom_text2(aes(label = label), color = "darkorange",
                   hjust = -0.1, vjust = -0.7, size = 6)

    tse <- TreeSummarizedExperiment(assays = list(toyTable),
                                    colData = colInf,
                                    colTree = treeC,
                                    colNodeLab = treeC$tip.label,
                                    metadata = list(test = 1:4))

    aggCol <- aggTSE(x = tse, colLevel = c("GroupA", "GroupB"),
                     colFun = sum)

    assays(aggCol)[[1]]

[Package TreeSummarizedExperiment version 2.2.0 Index]