Меры корреляции для нескольких переменных в 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