事前に指定された相関関係を持つ 1000 個の変数を作成したいとします。
まず、次の形式の相関行列を作成します。
a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)
明らかに、これは 3 つの変数に対して手動でコーディングできますが、1000 の変数に対して同じものを簡単に作成するにはどうすればよいでしょうか? それぞれの相関関係は同じ (つまり .8) である必要がありますか?
事前に指定された相関関係を持つ 1000 個の変数を作成したいとします。
まず、次の形式の相関行列を作成します。
a<-matrix(c(1,.8,.8,.8,1,.8,.8,.8,1),3)
明らかに、これは 3 つの変数に対して手動でコーディングできますが、1000 の変数に対して同じものを簡単に作成するにはどうすればよいでしょうか? それぞれの相関関係は同じ (つまり .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)