如何在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
此代码将不会这样做