Learn R Programming

qpgraph (version 2.6.1)

qpCov: Calculation of the sample covariance matrix

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

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.

Value

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

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().

See Also

qpPCC

Examples

Run this code
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]))

Run the code above in your browser using DataLab