colCounts {DelayedMatrixStats} | R Documentation

## Counts the number of occurrences of a specific value

### Description

The row- and column-wise functions take either a matrix or a vector as input. If a vector, then argument `dim.` must be specified and fulfill `prod(dim.) == length(x)`. The result will be identical to the results obtained when passing `matrix(x, nrow = dim.[1L], ncol = dim.[2L])`, but avoids having to temporarily create/allocate a matrix, if only such is needed only for these calculations.

### Usage

    colCounts(x, rows = NULL, cols = NULL, value = TRUE, na.rm = FALSE,
      dim. = dim(x), ...)

    rowCounts(x, rows = NULL, cols = NULL, value = TRUE, na.rm = FALSE,
      dim. = dim(x), ...)

    ## S4 method for signature 'DelayedMatrix'
    colCounts(x, rows = NULL, cols = NULL,
      value = TRUE, na.rm = FALSE, dim. = dim(x),
      force_block_processing = FALSE, ...)

    ## S4 method for signature 'DelayedMatrix'
    rowCounts(x, rows = NULL, cols = NULL,
      value = TRUE, na.rm = FALSE, dim. = dim(x),
      force_block_processing = FALSE, ...)

### Arguments

`x` | A NxK DelayedMatrix.
`rows` | A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done.
`cols` | A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done.
`value` | A value to search for.
`na.rm` | If `TRUE`, `NA`s are excluded first, otherwise not.
`dim.` | An `integer` `vector` of length two specifying the dimension of `x`, also when not a `matrix`.
`...` | Additional arguments passed to specific methods.
`force_block_processing` | `FALSE` (the default) means that a seed-aware, optimised method is used (if available). This can be overridden to use the general block-processing strategy by setting this to `TRUE` (typically not advised). The block-processing strategy loads one or more (depending on `getOption("DelayedArray.block.size")`) columns (`colFoo()`) or rows (`rowFoo()`) into memory as an ordinary base::array.

### Value

`rowCounts()` (`colCounts()`) returns an `integer` `vector` of length N (K). `count()` returns a scalar of type `integer` if the count is less than 2^31-1 (= `.Machine$integer.max`) otherwise a scalar of type `double`.

### See Also

rowAlls

### Examples

    # A DelayedMatrix with a 'matrix' seed
    dm_matrix <- DelayedArray(matrix(c(rep(1L, 5),
                                       as.integer((0:4) ^ 2),
                                       seq(-5L, -1L, 1L)),
                                     ncol = 3))
    # A DelayedMatrix with a 'DataFrame' seed
    dm_DF <- DelayedArray(S4Vectors::DataFrame(C1 = rep(1L, 5),
                                               C2 = as.integer((0:4) ^ 2),
                                               C3 = seq(-5L, -1L, 1L)))

    colCounts(dm_matrix, value = 1)
    # Only count those in the first 4 rows
    colCounts(dm_matrix, rows = 1:4, value = 1)

    rowCounts(dm_DF, value = 5)
    # Only count those in the odd-numbered rows of the 2nd column
    rowCounts(dm_DF, rows = seq(1, nrow(dm_DF), 2), cols = 2, value = 5)

[Package DelayedMatrixStats version 1.0.3 Index]