我正在尝试在R中创建一个函数,以使用此图像底部看到的方程式来找到n维非零方差变量的相关系数:Click Here
到目前为止,我仅制作了正在使用的示例数据集:
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()”函数?是否有获取变量标准化向量的函数?
在此先感谢您的帮助!
答案 0 :(得分:0)
我认为,问题在于向量中数据元素的双引号引起来。
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