У меня есть корреляционная матрица:Генерация ковариационной матрицы из корреляционной матрицы
a <- matrix(c(1, .8, .8, .8, 1, .8, .8, .8, 1), 3)
## [,1] [,2] [,3]
## [1,] 1.0 0.8 0.8
## [2,] 0.8 1.0 0.8
## [3,] 0.8 0.8 1.0
Теперь я хотел бы создать матрицу ковариации из корреляционной матрицы. Как это можно сделать в R?
Я пробовал:
e1.sd <- 3
e2.sd <- 10
e3.sd <- 3
e.cov <- a * as.matrix(c, e1.sd, e2.sd, e3.sd) %*% t(as.matrix(c(e1.sd, e2.sd, e3.sd)))
Но я получаю ошибку:
Error in a * as.matrix(c, e1.sd, e2.sd, e3.sd) %*% t(as.matrix(c(e1.sd, :
non-conformable arrays
Что я делаю неправильно?
http://rss.acs.unt.edu/Rdoc/library/MBESS/html/cor2cov.html – dayne
Код: as.matrix (c, e1.sd, e2.sd, e3.sd) является неправильно. Я думаю, что вы хотите: as.matrix (c (e1.sd, e2.sd, e3.sd)) – S4M