R: Checks if a value exists / does not exist in each row...

rowAlls {matrixStats} | R Documentation

## Checks if a value exists / does not exist in each row (column) of a matrix

### Description

Checks if a value exists / does not exist in each row (column) of a matrix.

### Usage

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

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

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

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

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

    anyValue(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.

### Details

These functions takes 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.

### Value

`rowAlls()` (`colAlls()`) returns an `logical` `vector` of length N (K). Analogously for `rowAnys()` (`rowAlls()`).

### Logical `value`

When `value` is logical, the result is as if the function is applied on `as.logical(x)`. More specifically, if `x` is numeric, then all zeros are treated as `FALSE`, non-zero values as `TRUE`, and all missing values as `NA`.

### Author(s)

Henrik Bengtsson

### See Also

rowCounts

### Examples

    x <- matrix(FALSE, nrow = 10, ncol = 5)
    x[3:7, c(2, 4)] <- TRUE
    x[2:4, ] <- TRUE
    x[, 1] <- TRUE
    x[5, ] <- FALSE
    x[, 5] <- FALSE
    print(x)

    print(rowCounts(x))       # 1 4 4 4 0 3 3 1 1 1
    print(colCounts(x))       # 9 5 3 5 0

    print(rowAnys(x))
    print(which(rowAnys(x)))  # 1  2  3  4  6  7  8  9 10
    print(colAnys(x))
    print(which(colAnys(x)))  # 1 2 3 4

[Package matrixStats version 0.55.0 Index]