d< -matrix(1:25,5,5)(这只是一个例子,数字基本上是随机的)
[,1] [,2] [,3] [,4] [,5]
[1,] 1 6 11 16 21
[2,] 2 7 12 17 22
[3,] 3 8 13 18 23
[4,] 4 9 14 19 24
[5,] 5 10 15 20 25
我想对每一行应用订单,并得到类似的内容:
0 1 2 3 4
0 1 2 3 4
...
我试过了:
l<-apply(d,1, function(x) order(x))
但我得到了这个结果:
[,1] [,2] [,3] [,4] [,5]
[1,] 1 1 1 1 1
[2,] 2 2 2 2 2
[3,] 3 3 3 3 3
[4,] 4 4 4 4 4
[5,] 5 5 5 5 5
示例2:
> d<-matrix(sample(1:25),5,5)
> d
[,1] [,2] [,3] [,4] [,5]
[1,] 1 20 13 4 11
[2,] 22 17 24 3 16
[3,] 18 23 2 15 14
[4,] 5 25 7 10 21
[5,] 12 8 6 19 9
抱歉,我在考虑排名。结果应该是这样的:
1 5 4 2 3(第1行)依此类推:
请帮助,谢谢!!
答案 0 :(得分:1)
我们可以使用rank
res <- t(apply(d, 1, rank))
res
# [,1] [,2] [,3] [,4] [,5]
#[1,] 1 5 4 2 3
#[2,] 4 3 5 1 2
#[3,] 4 5 1 3 2
#[4,] 1 5 2 3 4
#[5,] 4 2 1 5 3