R: Fast column- and row-wise versions of variance coded in C++

matrixStats {propagate} | R Documentation

## Fast column- and row-wise versions of variance coded in C++

### Description

These two functions are fast C++ versions for column- and row-wise `var`iance calculation on matrices/data.frames and are meant to substitute the classical `apply(mat, 1, var)` approach.

### Usage

      colVarsC(x)
      rowVarsC(x)

### Arguments

`x` | a matrix or data.frame

### Details

They are coded in a way that they automatically remove `NA` values, so they behave like `na.rm = TRUE`.

### Value

A vector with the variance values.

### Author(s)

Andrej-Nikolai Spiess

### Examples

    ## Speed comparison on large matrix.
    ## ~ 110x speed increase!
    ## Not run:
    MAT <- matrix(rnorm(10 * 500000), ncol = 10)
    system.time(RES1 <- apply(MAT, 1, var))
    system.time(RES2 <- rowVarsC(MAT))
    all.equal(RES1, RES2)

    ## End(Not run)

[Package propagate version 1.0-6 Index]