[英]Finding top values in a table in R
我想知道如何在表中找到给出最高值的变量对。
例如,我有5个数字列的文件“ mydata”。 如果运行cor(mydata)
,它将显示所有可能的相关性。 我想知道那些高度相关的对。 我尝试使用sort(cor(mydata))
,但是可以理解,这给了我一个有序值的向量。 那么我怎么知道哪个对负责某个值呢?
PS:我不确定如何插入示例,我尝试过发布图片,但没有必要的要点¬¬
假设如果我有一个包含2个变量A和B的表,则排序输出为:
[1] 0.5 0.5 1.0 1.0
在这种情况下,很容易知道0.5来自A和B对,但是当涉及两个以上变量时,我怎么知道呢?
我认为which(..., arr.ind = TRUE)
会有所帮助。
which
可以采取向量,矩阵或数组作为参数。 默认情况下( arr.ind = FALSE
),它将输出简化为向量,但是如果您改为设置arr.ind = TRUE
(并且数据具有dim
属性,即矩阵,data.frame或数组),则它将将尊重源数据的维度,并更精确地告诉您在哪里可以找到所需的元素。
set.seed(42)
dat <- matrix(rbinom(25, 5, 0.5), ncol = 5)
which(dat > 3, arr.ind = TRUE)
## row col
## [1,] 1 1
## [2,] 2 1
## [3,] 4 1
## [4,] 3 3
## [5,] 1 4
## [6,] 2 4
## [7,] 1 5
## [8,] 3 5
## [9,] 4 5
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.