我正在尝试生成一个与观察和可变方向相关的模拟数据矩阵。到目前为止,我知道如何为变量 x 变量执行此操作。

# correlated matrix between variables
n = 200
p = 100
CRMt <- matrix(NA, nrow = p, ncol = p)
diag(CRMt) <- 1
CRMt[upper.tri (CRMt, diag = FALSE)] <- 0.5
CRMt[lower.tri (CRMt, diag = FALSE)] <- 0.5
L = chol(CRMt)# Cholesky decomposition
p = dim(L)[1]
set.seed(999)
M = t(L) %*% matrix(rnorm(p*n), nrow=p, ncol=n)
M1 <- t(M)
rownames(M1) <- paste("S", 1:200, sep = "")
colnames(M1) <- paste("M", 1:100, sep = "")
cor(M1)
现在说我想创建一个数据矩阵,它也遵循以下观察 x 观察相关矩阵。

OCRMt <- matrix(NA, nrow = n, ncol = n)
diag(OCRMt) <- 1
OCRMt[upper.tri (OCRMt, diag = FALSE)] <- 0.3
OCRMt[lower.tri (OCRMt, diag = FALSE)] <- 0.3
我怎样才能做到这一点 ?