从相关表创建具有正相关值和负相关值的协方差矩阵

时间:2013-09-12 12:00:23

标签: r

我有一个包含正相关和负相关值的相关表:

cor.table <- matrix(rep(c(-0.1, 0.1), each=1250),50,50)
diag(cor.table) <- 1

我想使用以下方法创建一个协方差矩阵:

cov.mat<-cor2cov(cor.table,c(rep(20,50)))

但是我收到以下错误:

Error in cor2cov(cor.table, c(rep(100, 50))) : 
  The object 'cor.mat' should be either a symmetric or a triangular matrix

如何创建对称相关矩阵,其中值为正(0.1)或负(-0.1)相关?

1 个答案:

答案 0 :(得分:0)

set.seed(1)
cor.table <- matrix(sample(c(0.1,-0.1),50^2,replace=TRUE),50,50)

> isSymmetric(cor.table)
[1] FALSE

ind <- lower.tri(cor.table)
cor.table[ind] <- t(cor.table)[ind]
diag(cor.table) <- 1

> isSymmetric(cor.table)
[1] TRUE

你的问题是你没有创建对称矩阵。它现在应该工作。