假设我想创建 1000 个具有预先指定相关性的变量。
我将从创建以下形式的相关矩阵开始:
a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)
显然这可以为 3 个变量手动编码,但我怎样才能轻松地为 1000 个变量创建相同的东西呢?每个相关性都应该相同(即 0.8)?
假设我想创建 1000 个具有预先指定相关性的变量。
我将从创建以下形式的相关矩阵开始:
a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)
显然这可以为 3 个变量手动编码,但我怎样才能轻松地为 1000 个变量创建相同的东西呢?每个相关性都应该相同(即 0.8)?
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)