我的矩阵空间有一些位置1,2,3和4
df<-matrix(data=c(0.00, 4.69, 12.63, 2.99, 4.69, 0.00, 17.30, 5.15, 12.63, 17.30, 0.00, 13.72, 2.99, 5.15, 13.72, 0.00), ncol=4)
colnames(df)<-c(seq(1:4))
rownames(df)<-c(seq(1:4))
df
# 1 2 3 4
#1 0.00 4.69 12.63 2.99
#2 4.69 0.00 17.30 5.15
#3 12.63 17.30 0.00 13.72
#4 2.99 5.15 13.72 0.00
我想按每个空格行的等级按降序排序这个矩阵,所以得到
# 1 2 3 4
#1 1 2 2 2
#2 3 1 4 3
#3 4 4 1 4
#4 2 3 3 1
有关如何实现这一目标的任何建议?感谢。
答案 0 :(得分:1)
我们可以使用/node_modules
,因为每列都需要,我们遍历列(rank
与apply
)
MARGIN=2
答案 1 :(得分:1)
您可以使用colRanks
包中的matrixstats
,即
library(matrixStats)
t(colRanks(df))
给出,
[,1] [,2] [,3] [,4] [1,] 1 2 2 2 [2,] 3 1 4 3 [3,] 4 4 1 4 [4,] 2 3 3 1