r-按dplyr降序排列的row_number



我想使用row_numbers输出一个排名变量,其中排名第1的行具有最高的票数,递减:

df<-tibble(x=letters[1:4], votes=c(30,55,21,12))

如果我使用row_number,我有这个输出

af%>%mutate(rank=row_number(votes))

# A tibble: 4 x 3
x     votes  rank
<chr> <dbl> <int>
1 a        30     3
2 b        55     4
3 c        21     2
4 d        12     1

但我想要的排名输出是2,1,3,4

非常感谢。

我们可以使用rank()函数,其中votes之前的-表示降序:

library(dplyr)
df %>% 
mutate(rank = rank(-votes))
x     votes  rank
<chr> <dbl> <dbl>
1 a        30     2
2 b        55     1
3 c        21     3
4 d        12     4

相关内容

  • 没有找到相关文章

最新更新