Learn R Programming

metaSEM (version 0.9.4)

asyCov: Compute Asymptotic Covariance Matrix of a Correlation/Covariance Matrix

Description

It computes the asymptotic sampling covariance matrix of a correlation/covariance matrix under the assumption of multivariate normality.

Usage

asyCov(x, n, cor.analysis = TRUE, dropNA = FALSE, as.matrix = TRUE,
       suppressWarnings = TRUE,  silent = TRUE, run = TRUE, ...)

Arguments

x
A correlation/covariance matrix or a list of correlation/covariance matrices. NA on the variables or other values defined in na.strings will be removed before the analysis. Note that it only checks the diagonal elements of th
n
Sample size or a vector of sample sizes
cor.analysis
Logical. The output is either a correlation or covariance matrix.
dropNA
Logical. If it is TRUE, the resultant dimensions will be reduced by dropping the missing variables. If it is FALSE, the resultant dimensions are the same as the input by keeping the missing variables.
as.matrix
Logical. If it is TRUE and x is a list of correlation/covariance matrices with the same dimensions, the asymptotic covariance matrices will be column vectorized and stacked together. If it is FALSE, the output wil
suppressWarnings
Logical. If TRUE, warnings are suppressed. Argument to be passed to mxRun.
silent
Logical. Argument to be passed to mxRun
run
Logical. If FALSE, only return the mx model without running the analysis.
...
Futher arguments to be passed to mxRun

Value

  • An asymptotic covariance matrix of the vectorized correlation/covariance matrix or a list of these matrices. If as.matrix=TRUE and x is a list of matrices, the output is a stacked matrix.

References

Cheung, M. W.-L., & Chan, W. (2004). Testing dependent correlation coefficients via structural equation modeling. Organizational Research Methods, 7, 206-223.

Examples

Run this code
C1 <- matrix(c(1,0.5,0.4,0.5,1,0.2,0.4,0.2,1), ncol=3)  
asyCov(C1, n=100)

## Data with missing values
C2 <- matrix(c(1,0.4,NA,0.4,1,NA,NA,NA,NA), ncol=3)  
C3 <- matrix(c(1,0.2,0.2,1), ncol=2)

## Output is a list of asymptotic covariance matrices
asyCov(list(C1,C2,C3), n=c(100,50,50), dropNA=TRUE, as.matrix=FALSE)

## Output is a stacked matrix of asymptotic covariance matrices
asyCov(list(C1,C2), n=c(100,50), as.matrix=TRUE)

## Output is a stacked matrix of asymptotic covariance matrices
asyCov(list(C3,C3), n=c(100,50), as.matrix=TRUE)

Run the code above in your browser using DataLab