如何为R语言向量生成指定形式的排名?rank()函数结果不符
解决R语言自定义排名需求
你可以通过设置rank()函数的ties.method参数为"min"来实现目标效果:
首先定义向量:
a <- c(1, 6, 6, 6, 11)
执行带参数的排名函数:
rank(a, ties.method = "min")
运行后输出结果为:
[1] 1 2 2 2 5
参数说明
rank()函数的ties.method参数用于控制相同值(ties)的排名规则:
- 默认值
"average":对相同值取它们所有排名的平均值,这也是你之前得到1 3 3 3 5的原因 "min":对相同值取它们对应的最小排名位置,正好匹配你需要的结果"max":对相同值取对应的最大排名位置,此例中会得到1 4 4 4 5"first":按值出现的先后顺序分配不同排名,此例中会得到1 2 3 4 5"random":随机为相同值分配不同排名
内容的提问来源于stack exchange,提问作者gimmethedata123
相关产品推荐
相关产品推荐

