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` | A `numeric` NxK `matrix`.
`rows, cols` | A `vector` indicating subset of rows (and/or columns) to operate over. If `NULL`, no subsetting is done.
`na.rm` | If `TRUE`, missing values are excluded first, otherwise not.
`center` | (optional) The center, defaults to the row means.
`dim.` | An `integer` `vector` of length two specifying the dimension of `x`, also when not a `matrix`.
`...` | 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(2400), 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.54.0 Index]