如何在dplyr中对多个变量进行排名

如何在dplyr中对多个变量进行排名,r,dplyr,R,Dplyr,如果我有 library(dplyr) df <- data.frame(name=c("A","B","C","D"),value1=c(8,9,8,10),value2=c(1,2,3,4)) df name value1 value2 1 A 8 1 2 B 9 2 3 C 8 3 4 D 10 4 # I want to do som

如果我有

library(dplyr)
 df <- data.frame(name=c("A","B","C","D"),value1=c(8,9,8,10),value2=c(1,2,3,4))
 df 
      name value1 value2
   1    A      8      1
   2    B      9      2
   3    C      8      3
   4    D     10      4 

 # I want to do something like this without the error

newdf <- df %>%
mutate(rank=row_number(desc(value1),desc(value2)))

newdf
    name value1 value2 rank
1    A      8      1    4
2    B      9      2    2
3    C      8      3    3
4    D     10      4    1
库(dplyr)

df现在我已经看得更远了,我想这就成功了

df %>% arrange(desc(value1),desc(value2)) %>% mutate(rank=row_number())

以下代码将产生与您在问题中发布的结果相同的结果。这是
行编号()
将返回的内容,但不必重新排列原始数据

newdf <- df %>%
  mutate(rank=order(-value1,-value2))
newdf%
变异(秩=顺序(-value1,-value2))
请注意:如果您想要
densite\u rank
此代码将不会这样做