R中的rank()函数是具有浮点而不是整数的排名对象

时间:2015-08-05 05:07:41

标签: r floating-point double ranking rank

我对R来说很陌生,所以对于很多有经验的程序员来说这似乎是微不足道的,提前抱歉!

我有一个长度为8的数字向量,如下所示:

data <- c(45, 67, 23, 24, 5, 23, 45, 23)

当我输入:rank(data)时,R会返回:[1] 6.5 8.0 3.0 5.0 1.0 3.0 6.5 3.0

然而,根据我(非常基本的)对等级的理解,我希望R只返回给我整数......例如:

[1] 6 8 2 5 1 3 7 4

rank()如何告诉我data中的第一个元素有浮点排名而不是整数排名?是因为data中的值有重复,所以rank()试图以我不期望的方式处理关系?如果是这样,请告诉我如何解决这个问题,以便我可以获得看起来像我之前预期的输出。此外,我们非常感谢有关rank()如何处理NA值的任何信息。关于rank()的基本描述以及可以使用的铃声和口哨将是太棒了!我在youtube上搜索过视频并搜索了stackoverflow无济于事!非常感谢。

1 个答案:

答案 0 :(得分:7)

来自?rank

  

如果某些值相等(称为“tie”),则参数ties.method将确定相应索引的结果。 "first"方法导致在每个索引关系集中值增加的排列。 "random"方法以随机顺序排列,而默认值"average"则按其平均值替换它们,"max""min"分别用它们的最大值和最小值替换它们,后者是典型的体育排名。

听起来你正在使用默认设置“average”来打破平局,它使用的是均值,不一定是整数。

内置文档应始终是寻求帮助的第一站。在这种情况下(大多数情况下),它详细介绍了所有的“花里胡哨” - 这里并不多:只有领带处理和NA处理。它底部也有例子。