按降序排列数据框中的每一行

Rank each row in a data frame in descending order

我想通过 apply(data.frame,1,rank)rank() 应用于数据框中的每一行。但是,默认情况下排名是升序的。因此,当我将 rank() 应用于第一行的值 (2,1,3,5) 时,我得到

[1] 2 1 3 4

不过,我想要

[1] 3 4 2 1

如何使用 apply(data.frame,1,rank) 执行此操作?

尝试

apply(-data, 1, rank, ties.method='first')

并与

进行比较
apply(data, 1, rank, ties.method='first')

对于您的具体示例

v1 <- c(2,1,3,5)
rank(v1)
#[1] 2 1 3 4
rank(-v1)
#[1] 3 4 2 1

数据

 set.seed(24)
 data <- as.data.frame(matrix(sample(1:20, 4*20, replace=TRUE), ncol=4))