假设我想用预先指定的相关性创建1000个变量。
我首先要创建一个以下形式的相关矩阵:
a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)
显然,这可以手工编码为3个变量但是如何轻松地为1000个变量创建相同的东西呢?每个相关性应该相同(即.8)?
答案 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)