试图获得矩阵每一行各列之间的相关系数。我是R的新手,这是真正的初学者。我上课要做的第一批任务之一。
矩阵:
A2
[,1] [,2]
[1,] 4 -2
[2,] 8 -3
[3,] 6 1
[4,] 2 2
[5,] -1 1
我尝试使用cor(A)
,因为我读过它会自动计算每行各列的相关系数,但是它给出了以下结果:
cor(A2)
[,1] [,2]
[1,] 1.0000000 -0.6338878
[2,] -0.6338878 1.0000000
使用cor(t(A2))
cor(t(A2))
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 NA -1
[2,] 1 1 1 NA -1
[3,] 1 1 1 NA -1
[4,] NA NA NA 1 NA
[5,] -1 -1 -1 NA 1
但是我希望它有5行,其中一列显示结果。
答案 0 :(得分:1)
有几种使用cor()
函数的方法。如果要计算矩阵中两列之间的相关性,则可以提供两个这样的参数:
> cor(A2[,1], A2[,2])
[1] -0.6338878
如果输入单个矩阵作为参数,则它将返回一个相关矩阵。
> cor(A2)
[,1] [,2]
[1,] 1.0000000 -0.6338878
[2,] -0.6338878 1.0000000
在这种情况下,位置[1,1]
是A2[,1]
和A2[,1]
(正好为1)之间的相关性。在位置[1,2]
中,您可以找到A2[,1]
和A2[,2]
之间的相关性。相关矩阵是对称的,并且诊断始终为1,因为矢量与自身的相关为1。