繁体   English   中英

在R中的表中查找最大值

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

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM