fastcov2 {dipsaus} R Documentation

## Calculate Covariance Matrix in Parallel

### Description

Speed up covariance calculation for large matrices. The default behavior is similar cov. Please remove any NA prior to calculation.

### Usage

fastcov2(x, y = NULL, col1, col2, df)


### Arguments

 x a numeric vector, matrix or data frame; a matrix is highly recommended to maximize the performance y NULL (default) or a vector, matrix or data frame with compatible dimensions to x; the default is equivalent to y = x col1 integers indicating the subset (columns) of x to calculate the covariance; default is all the columns col2 integers indicating the subset (columns) of y to calculate the covariance; default is all the columns df a scalar indicating the degrees of freedom; default is nrow(x)-1

### Value

A covariance matrix of x and y. Note that there is no NA handling. Any missing values will lead to NA in the resulting covariance matrices.

### Examples


x <- matrix(rnorm(400), nrow = 100)

# Call cov(x) to compare
fastcov2(x)

# Calculate covariance of subsets
fastcov2(x, col1 = 1, col2 = 1:2)

# Speed comparison
x <- matrix(rnorm(100000), nrow = 1000)
microbenchmark::microbenchmark(
fastcov2 = {
fastcov2(x, col1 = 1:50, col2 = 51:100)
},
cov = {
cov(x[,1:50], x[,51:100])
},
unit = 'ms', times = 10
)



[Package dipsaus version 0.2.5 Index]