aggValue {TreeSummarizedExperiment} | R Documentation

## Perform data aggregations based on the available tree structures

### Description

`aggValue` 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

    aggValue(
      x,
      rowLevel = NULL,
      rowBlock = NULL,
      colLevel = NULL,
      colBlock = NULL,
      FUN = sum,
      assay = NULL,
      message = FALSE
    )

### 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.
`FUN` | A function to be applied on the aggregation. It's similar to the `FUN` in `apply`
`assay` | A integer scalar or string indicating which assay of `x` to use in the aggregation.
`message` | A logical value. The default is TRUE. If TRUE, it will print out the running process.

### Value

A `TreeSummarizedExperiment` object or a `matrix`. The output has the same class of the input `x`.

### Author(s)

Ruizhu HUANG

### See Also

`TreeSummarizedExperiment`

### 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 <- aggValue(x = tse, colLevel = c("GroupA", "GroupB"),
    FUN = sum)

    assays(aggCol)[[1]]

[Package TreeSummarizedExperiment version 1.6.2 Index]