Меры корреляции для нескольких переменных в R

Я пытаюсь создать функцию в R, чтобы найти коэффициент корреляции для n-мерных переменных, отличных от нуля, используя уравнение, показанное внизу этого изображения: Нажмите здесь

До сих пор я только сделал примерный набор данных, с которым я работаю:

a <- c(4, 6, 2, 5)
b <- c(8, 1, 3, 7)
c <- c(6, 3, 1, 3)
d <- c(7, 5, 7, 5)
e <- c(9, 2, 6, 1)
f <- c(4, 6, 4, 5)

al <- data.frame(a, b, c, d, e, f)
al

Но у меня возникают проблемы с включением уравнения в остальную часть моего кода. Я знаю, как сделать корреляционную матрицу:

corrmatrix <- cor(al)
head(round(corrmatrix,3))

Но я не знаю, должно ли это быть там, где я начинаю или могу ли я работать с исходным набором данных. Я предполагаю, что математика, стоящая за уравнением, удерживает меня. Например: как мне использовать функцию "det()"? Есть ли функция для получения стандартизированного вектора переменной?

Заранее благодарю за любую помощь!

1 ответ

Я думаю, проблема в двойных кавычках вокруг элементов данных в ваших векторах.

 a <- c(4, 6, 2, 5)
 b <- c(8, 1, 3, 7)
 c <- c(6, 3, 1, 3)
 d <- c(7, 5, 7, 5)
 e <- c(9, 2, 6, 1)
 f <- c(4, 6, 4, 5)
 al <- data.frame(a, b, c, d, e, f)
 corrmatrix <- cor(al) 
 head(round(corrmatrix,3))    

Результаты

       a      b      c      d      e      f
a  1.000 -0.103  0.355 -0.845 -0.607  0.866
b -0.103  1.000  0.648  0.262  0.368 -0.553
c  0.355  0.648  1.000  0.140  0.459 -0.127
d -0.845  0.262  0.140  1.000  0.937 -0.905
e -0.607  0.368  0.459  0.937  1.000 -0.800
f  0.866 -0.553 -0.127 -0.905 -0.800  1.000
Другие вопросы по тегам