R - 边缘无重复值的相关矩阵

R - correlation matrix without duplicated values in edges

我的数据看起来像

## 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 的启发,我想创建类似的热图。但更多的是这种方式:

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

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

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].