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]
.
我的数据看起来像
## 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]
.