Calculation of the sample covariance matrix

Share:

Description

Calculates the sample covariance matrix, just as the function cov() but returning a dspMatrix-class object which efficiently stores such a dense symmetric matrix.

Usage

1
qpCov(X, corrected=TRUE)

Arguments

X

data set from where to calculate the sample covariance matrix. As the cov() function, it assumes the columns correspond to random variables and the rows to multivariate observations.

corrected

flag set to TRUE when calculating the sample covariance matrix (default; and set to FALSE when calculating the uncorrected sum of squares and deviations.

Details

This function makes the same calculation as the cov function but returns a sample covariance matrix stored in the space-efficient class dspMatrix-class and, moreover, allows one for calculating the uncorrected sum of squares and deviations which equals (n-1) * cov().

Value

A sample covariance matrix stored as a dspMatrix-class object. See the Matrix package for full details on this object class.

Author(s)

R. Castelo

See Also

qpPCC

Examples

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
require(graph)
require(mvtnorm)

nVar <- 50 ## number of variables
nObs <- 10 ## number of observations to simulate

set.seed(123)

g <- randomEGraph(as.character(1:nVar), p=0.15)

Sigma <- qpG2Sigma(g, rho=0.5)
X <- rmvnorm(nObs, sigma=as.matrix(Sigma))

S <- qpCov(X)

## estimate Pearson correlation coefficients by scaling the sample covariance matrix
R <- cov2cor(as(S, "matrix"))

## get the corresponding boolean adjacency matrix
A <- as(g, "matrix") == 1

## Pearson correlation coefficients of the present edges
summary(abs(R[upper.tri(R) & A]))

## Pearson correlation coefficients of the missing edges
summary(abs(R[upper.tri(R) & !A]))

Want to suggest features or report bugs for rdrr.io? Use the GitHub issue tracker.