R: Counts the number of occurrences of a specific value

rowCounts {matrixStats} | 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

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

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

    count(x, idxs = NULL, value = TRUE, na.rm = FALSE, ...)

### Arguments

`x` | An NxK `matrix` or an N * K `vector`.
`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`.
`...` | Not used.
`idxs, rows, cols` | A `vector` indicating subset of elements (or rows and/or columns) to operate over. If `NULL`, no subsetting is done.

### 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`.

### Author(s)

Henrik Bengtsson

### See Also

rowAlls

### Examples

    x <- matrix(0:11, nrow = 4, ncol = 3)
    x[2:3, 2:3] <- 2:5
    x[3, 3] <- NA_integer_
    print(x)

    print(rowCounts(x, value = 2))
    ## [1]  0  1 NA  0
    print(colCounts(x, value = 2))
    ## [1]  1  1 NA
    print(colCounts(x, value = NA_integer_))
    ## [1] 0 0 1

    print(rowCounts(x, value = 2, na.rm = TRUE))
    ## [1] 0 1 1 0
    print(colCounts(x, value = 2, na.rm = TRUE))
    ## [1] 1 1 0

    print(rowAnys(x, value = 2))
    ## [1] FALSE  TRUE  TRUE FALSE
    print(rowAnys(x, value = NA_integer_))
    ## [1] FALSE FALSE  TRUE FALSE

    print(colAnys(x, value = 2))
    ## [1] TRUE TRUE   NA
    print(colAnys(x, value = 2, na.rm = TRUE))
    ## [1]  TRUE  TRUE FALSE

    print(colAlls(x, value = 2))
    ## [1] FALSE FALSE FALSE

[Package matrixStats version 0.54.0 Index]