Create a ranking variable with dplyr?

后端 未结 2 826
生来不讨喜
生来不讨喜 2020-12-04 16:24

Suppose I have the following data

df = data.frame(name=c(\"A\", \"B\", \"C\", \"D\"), score = c(10, 10, 9, 8))

I want to add a new column w

2条回答
  •  隐瞒了意图╮
    2020-12-04 17:20

    It sounds like you're looking for dense_rank from "dplyr" -- but applied in a reverse order than what rank normally does.

    Try this:

    df %>% mutate(rank = dense_rank(desc(score)))
    #   name score rank
    # 1    A    10    1
    # 2    B    10    1
    # 3    C     9    2
    # 4    D     8    3
    

提交回复
热议问题