R: Tabulates the values in a matrix by row (column).

rowTabulates {matrixStats} | R Documentation

## Tabulates the values in a matrix by row (column).

### Description

Tabulates the values in a matrix by row (column).

### Usage

    rowTabulates(x, rows = NULL, cols = NULL, values = NULL, ...)

    colTabulates(x, rows = NULL, cols = NULL, values = NULL, ...)

### Arguments

`x` | An `integer`, a `logical`, or a `raw` NxK `matrix`.
`rows, cols` | A `vector` indicating subset of rows (and/or columns) to operate over. If `NULL`, no subsetting is done.
`values` | An `vector` of J values of count. If `NULL`, all (unique) values are counted.
`...` | Not used.

### Details

An alternative to these functions, is to use `table(x, row(x))` and `table(x, col(x))`, with the exception that the latter do not support the `raw` data type. When there are no missing values in `x`, we have that `all(rowTabulates(x) == t(table(x, row(x))))` and `all(colTabulates(x) == t(table(x, col(x))))`. When there are missing values, we have that `all(rowTabulates(x) == t(table(x, row(x), useNA = "always")[, seq_len(nrow(x))]))` and `all(colTabulates(x) == t(table(x, col(x), useNA = "always")[, seq_len(ncol(x))]))`.

### Value

Returns a NxJ (KxJ) `matrix` where N (K) is the number of row (column) `vector`s tabulated and J is the number of values counted.

### Author(s)

Henrik Bengtsson

### Examples

    x <- matrix(1:5, nrow = 10, ncol = 5)
    print(x)
    print(rowTabulates(x))
    print(colTabulates(x))
    # Count only certain values
    print(rowTabulates(x, values = 1:3))

    y <- as.raw(x)
    dim(y) <- dim(x)
    print(y)
    print(rowTabulates(y))
    print(colTabulates(y))

[Package matrixStats version 0.55.0 Index]