R – 相关矩阵,边缘没有重复值

我的数据看起来像

## data =
##  A B C a b c
##  0 1 0 1 1 0
##  0 0 1 1 0 0
##  1 1 0 0 1 0
##  0 0 1 0 0 1
##  0 1 0 1 1 0
##  1 0 0 0 1 0

如何关联结果的数据,如下所示:

##      A    B    C
## a   0.7 -0.2 -0.2 
## b   0.3 -0.5  1.0
## c  -0.7  0.4 -1.0

我受到了article的启发,我想创建类似的热图.但更多的是这种方式:

《R – 相关矩阵,边缘没有重复值》

运行cor(数据)然后将矩阵裁剪到所需的子矩阵是正确的方法吗?或者我应该运行一些其他功能而不是cor(数据)?

最佳答案 由于所需的子矩阵不是整个矩阵对角线的块,我认为没有更好的捷径,你应该使用

cor(M)[c("a", "b", "c"), c("A", "B", "C")]
#            A          B          C
# a -0.7071068  0.3333333  0.0000000
# b  0.5000000  0.7071068 -1.0000000
# c -0.3162278 -0.4472136  0.6324555

或者只是cor(M)[4:6,1:3].

点赞