Last data update: 2014.03.03

R: Fast column- and row-wise versions of variance coded in C++
matrixStatsR 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 variance 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)

Results