Learn R Programming

propagate (version 1.0-6)

matrixStats: 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

Value

A vector with the variance values.

Details

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

Examples

Run this code
# NOT RUN {
## 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)
# }

Run the code above in your browser using DataLab