排序相关矩阵R.

时间:2017-10-03 19:30:38

标签: r

我使用cor函数在R中创建了一个相关矩阵。

我想从该矩阵中提取10个最大(最接近1)和10个最小(最接近-1)的相应行和列索引。

以下是我如何获得相关矩阵的示例代码:

  xs = rnorm(10000)
ys = rnorm(10000)
zs = rnorm(10000)

cor1 <- cor(data.frame(xs,ys,zs))

我获得:

      xs          ys          zs
xs  1.00000000 -0.01077785 -0.01308803
ys -0.01077785  1.00000000  0.01176254
zs -0.01308803  0.01176254  1.00000000

有什么建议吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

如果mat是您的相关矩阵,您可以像这样得到顶部和底部10的位置......

min10 <- which(mat<=sort(mat)[10], arr.ind = TRUE)
max10 <- which(-mat<=sort(-mat)[10], arr.ind = TRUE)

其中每个都是n x 2矩阵,其中列是符合条件的元素的mat行和列号。