我有一个名单的竞争对手和分数的价值从一个锦标赛。许多竞争对手被打成平局。我需要一种在R中对它们进行排序的方法,例如,如果四个竞争者并列第四位,那么输出可能如下所示:
Competitor A: 1
Competitor B: 2
Competitor C: 3
Competitor D: 4
Competitor E: 4
Competitor F: 4
Competitor G: 4
Competitor F: 8因此,在平局之后的下一个排名不是5,而是8(因为四个竞争者占据了4-7的位置)。
我知道这是有点违背直觉,但如果有人有任何想法,这将是高度赞赏。谢谢!
数据
v1 <- setNames(c(4, 5, 2, 7, 7, 7, 7, 9), paste('Competitor', LETTERS[1:8]))发布于 2015-11-14 13:59:53
我们可以使用来自min_rank的dplyr
library(dplyr)
min_rank(v1)
#[1] 2 3 1 4 4 4 4 8或者在base R中,(来自@Stevené的评论)
rank(v1, ties.method = "min")数据
v1 <- c(4, 5, 2, 7, 7, 7, 7, 9)https://stackoverflow.com/questions/33709169
复制相似问题