按降序排列数据框中的每一行
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))
我想通过 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))