为大量变量创建关联表

时间:2013-09-11 12:31:43

标签: r

假设我想用预先指定的相关性创建1000个变量。

我首先要创建一个以下形式的相关矩阵:

a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)

显然,这可以手工编码为3个变量但是如何轻松地为1000个变量创建相同的东西呢?每个相关性应该相同(即.8)?

1 个答案:

答案 0 :(得分:3)

example <- matrix(rep(0.8,25),5,5)

或者@Vincent指出,matrix(0.8,5,5)要好得多。

diag(example) <- 1

> example
     [,1] [,2] [,3] [,4] [,5]
[1,]  1.0  0.8  0.8  0.8  0.8
[2,]  0.8  1.0  0.8  0.8  0.8
[3,]  0.8  0.8  1.0  0.8  0.8
[4,]  0.8  0.8  0.8  1.0  0.8
[5,]  0.8  0.8  0.8  0.8  1.0

然后,您可以根据需要将其扩展到最大尺寸。在你的情况下:

mat2 <- matrix(0.8,1000,1000)