(mat <- matrix(c(1, 0.9, 0.9, 1), nrow=2))
## [,1] [,2]
## [1,] 1.0 0.9
## [2,] 0.9 1.0
(mat2 <- diag(2) %x% mat)
## [,1] [,2] [,3] [,4]
## [1,] 1.0 0.9 0.0 0.0
## [2,] 0.9 1.0 0.0 0.0
## [3,] 0.0 0.0 1.0 0.9
## [4,] 0.0 0.0 0.9 1.0
(C2a <- rbind(c(-1, 0, 1, 0), c(0, -1, 0, 1)))
## [,1] [,2] [,3] [,4]
## [1,] -1 0 1 0
## [2,] 0 -1 0 1
(Sigma2a <- C2a %*% mat2 %*% t(C2a))
## [,1] [,2]
## [1,] 2.0 1.8
## [2,] 1.8 2.0
cov2cor(Sigma2a)
## [,1] [,2]
## [1,] 1.0 0.9
## [2,] 0.9 1.0
cov2cor(C2a %*% diag(4) %*% t(C2a))
## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
(mat3 <- diag(3) %x% mat)
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] 1.0 0.9 0.0 0.0 0.0 0.0
## [2,] 0.9 1.0 0.0 0.0 0.0 0.0
## [3,] 0.0 0.0 1.0 0.9 0.0 0.0
## [4,] 0.0 0.0 0.9 1.0 0.0 0.0
## [5,] 0.0 0.0 0.0 0.0 1.0 0.9
## [6,] 0.0 0.0 0.0 0.0 0.9 1.0
(C3 <- rbind(c(-1, 0, 1, 0, 0, 0), c(-1, 0, 0, 0, 1, 0), c(0, -1, 0, 1, 0, 0), c(0, -1, 0, 0, 0, 1)))
## [,1] [,2] [,3] [,4] [,5] [,6]
## [1,] -1 0 1 0 0 0
## [2,] -1 0 0 0 1 0
## [3,] 0 -1 0 1 0 0
## [4,] 0 -1 0 0 0 1
(Sigma3 <- C3 %*% mat3 %*% t(C3))
## [,1] [,2] [,3] [,4]
## [1,] 2.0 1.0 1.8 0.9
## [2,] 1.0 2.0 0.9 1.8
## [3,] 1.8 0.9 2.0 1.0
## [4,] 0.9 1.8 1.0 2.0
cov2cor(Sigma3)
## [,1] [,2] [,3] [,4]
## [1,] 1.00 0.50 0.90 0.45
## [2,] 0.50 1.00 0.45 0.90
## [3,] 0.90 0.45 1.00 0.50
## [4,] 0.45 0.90 0.50 1.00
cov2cor(C3 %*% diag(6) %*% t(C3))
## [,1] [,2] [,3] [,4]
## [1,] 1.0 0.5 0.0 0.0
## [2,] 0.5 1.0 0.0 0.0
## [3,] 0.0 0.0 1.0 0.5
## [4,] 0.0 0.0 0.5 1.0
(C2b <- rbind(c(-1, 1, 0, 0), c(0, 0, -1, 1)))
## [,1] [,2] [,3] [,4]
## [1,] -1 1 0 0
## [2,] 0 0 -1 1
(Sigma2b <- C2b %*% mat2 %*% t(C2b))
## [,1] [,2]
## [1,] 0.2 0.0
## [2,] 0.0 0.2
cov2cor(Sigma2b)
## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
cov2cor(C2b %*% diag(4) %*% t(C2b))
## [,1] [,2]
## [1,] 1 0
## [2,] 0 1
(C2c <- rbind(C2a, C2b))
## [,1] [,2] [,3] [,4]
## [1,] -1 0 1 0
## [2,] 0 -1 0 1
## [3,] -1 1 0 0
## [4,] 0 0 -1 1
(Sigma2c <- C2c %*% mat2 %*% t(C2c))
## [,1] [,2] [,3] [,4]
## [1,] 2.0 1.8 0.1 -0.1
## [2,] 1.8 2.0 -0.1 0.1
## [3,] 0.1 -0.1 0.2 0.0
## [4,] -0.1 0.1 0.0 0.2
round(cov2cor(Sigma2c), 3)
## [,1] [,2] [,3] [,4]
## [1,] 1.000 0.900 0.158 -0.158
## [2,] 0.900 1.000 -0.158 0.158
## [3,] 0.158 -0.158 1.000 0.000
## [4,] -0.158 0.158 0.000 1.000
cov2cor(C2c %*% diag(4) %*% t(C2c))
## [,1] [,2] [,3] [,4]
## [1,] 1.0 0.0 0.5 -0.5
## [2,] 0.0 1.0 -0.5 0.5
## [3,] 0.5 -0.5 1.0 0.0
## [4,] -0.5 0.5 0.0 1.0