我想使用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