求R中矩阵的行名的每个元素的秩

  • 本文关键字:元素 r match rank radix
  • 更新时间 :
  • 英文 :


我有一个2000行6900列的数字矩阵。我使用的是R,我想在每列中找到行名称的每个元素的秩。

例如;如果元素";A";是第一列中的最大值、第二列中的第三大值和第三列中的五大值。我想替换"0"的值;A";前3列为1,3,5。我想对所有行名和所有列执行相同的操作。基本上,我想在每一列中找到一个值的排名。

有办法做到吗?我尝试了排序、排序和排序功能,但没能成功

我使用(并且更喜欢(R,但Python也可以。

提前感谢

这个怎么样。

基于您描述的数据示例:

set.seed(1)
m <- matrix(sample(1:25), 5, dimnames = list(LETTERS[1:5], 1:5))
m
#>    1  2  3  4  5
#> A 25 11 16  9  8
#> B  4 14 10 15 13
#> C  7 18  6 12 21
#> D  1 22 19 17  3
#> E  2  5 23 20 24

解决方案:

apply(m, 2, rank)
#>   1 2 3 4 5
#> A 5 2 3 1 2
#> B 3 3 2 3 3
#> C 4 4 1 2 4
#> D 1 5 4 4 1
#> E 2 1 5 5 5

相关内容

  • 没有找到相关文章

最新更新