您如何在多个列上对数据框进行排名?

时间:2018-11-29 11:16:16

标签: r dplyr tidyverse ranking

我想基于多个其他列(例如SQL中的rank() over (order by a, b))向我的数据框添加一个(密集)等级列。在R中,rank函数仅接受一列,因此mutate(df, rank(a, b))引发错误。 order_by函数也只接受一列。

因此,给出此数据框:

d <- data.frame(a = c(1, 1, 1, 2), b = c(1, 1, 2, 2))

...我想要一个像这样的排名:

 a  b  rank
 1  1  1 
 1  1  1 
 1  2  2 
 2  2  3 

我的实际数据框要大得多,并且排名需要超过不同类型的多列(主要是字符串和双精度)。

0 个答案:

没有答案