gpt4 book ai didi

r - 使用 dplyr 创建排名变量?

转载 作者:行者123 更新时间:2023-12-03 07:03:14 26 4
gpt4 key购买 nike

假设我有以下数据

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

我想添加一个带有排名的新列。这就是我正在做的事情:

df %>% mutate(ranking = rank(score, ties.method = 'first'))
# name score ranking
# 1 A 10 3
# 2 B 10 4
# 3 C 9 2
# 4 D 8 1

但是,我想要的结果是:

#   name score ranking
# 1 A 10 1
# 2 B 10 1
# 3 C 9 2
# 4 D 8 3

显然rank并没有达到我的预期。我应该使用什么功能?

最佳答案

听起来您正在从“dplyr”中查找 dense_rank - 但应用顺序与 rank 通常的顺序相反。

试试这个:

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

关于r - 使用 dplyr 创建排名变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26106408/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com