R: Variance estimates for each row (column) in a matrix

rowVars {matrixStats} | R Documentation

## Variance estimates for each row (column) in a matrix

### Description

Variance estimates for each row (column) in a matrix.

### Usage

    rowVars(x, rows = NULL, cols = NULL, na.rm = FALSE, center = NULL,
      dim. = dim(x), ...)

    colVars(x, rows = NULL, cols = NULL, na.rm = FALSE, center = NULL,
      dim. = dim(x), ...)

### Arguments

`x` | An NxK `matrix` or, if `dim.` is specified, an N * K `vector`.
`rows` | A `vector` indicating subset of rows to operate over. If `NULL`, no subsetting is done.
`cols` | A `vector` indicating subset of columns to operate over. If `NULL`, no subsetting is done.
`na.rm` | If `TRUE`, missing values are excluded.
`center` | (optional; a vector or length N (K)) If the row (column) means are already estimated, they can be pre-specified using this argument. This avoid re-estimating them again. (*Warning: If biased estimated are given, the estimate of the spread will also be biased.*) If NULL (default), the row/column means are estimated internally.
`dim.` | An `integer` `vector` of length two specifying the dimension of `x`, also when not a `matrix`. Comment: The reason for this argument being named with a period at the end is purely technical (we get a run-time error if we try to name it `dim`).
`...` | Additional arguments passed to `rowMeans()` and `rowSums()`.

### Value

Returns a `numeric` `vector` of length N (K).

### Author(s)

Henrik Bengtsson

### See Also

See `rowMeans()` and `rowSums()` in `colSums`().

### Examples

    set.seed(1)

    x <- matrix(rnorm(20), nrow = 5, ncol = 4)
    print(x)

    # Row averages
    print(rowMeans(x))
    print(rowMedians(x))

    # Column averages
    print(colMeans(x))
    print(colMedians(x))

    # Row variabilities
    print(rowVars(x))
    print(rowSds(x))
    print(rowMads(x))
    print(rowIQRs(x))

    # Column variabilities
    print(rowVars(x))
    print(colSds(x))
    print(colMads(x))
    print(colIQRs(x))

    # Row ranges
    print(rowRanges(x))
    print(cbind(rowMins(x), rowMaxs(x)))
    print(cbind(rowOrderStats(x, which = 1), rowOrderStats(x, which = ncol(x))))

    # Column ranges
    print(colRanges(x))
    print(cbind(colMins(x), colMaxs(x)))
    print(cbind(colOrderStats(x, which = 1), colOrderStats(x, which = nrow(x))))

    x <- matrix(rnorm(2000), nrow = 50, ncol = 40)

    # Row standard deviations
    d <- rowDiffs(x)
    s1 <- rowSds(d) / sqrt(2)
    s2 <- rowSds(x)
    print(summary(s1 - s2))

    # Column standard deviations
    d <- colDiffs(x)
    s1 <- colSds(d) / sqrt(2)
    s2 <- colSds(x)
    print(summary(s1 - s2))

[Package matrixStats version 0.59.0 Index]