我对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无济于事!非常感谢。
答案 0 :(得分:7)
来自?rank
:
如果某些值相等(称为“tie”),则参数
ties.method
将确定相应索引的结果。"first"
方法导致在每个索引关系集中值增加的排列。"random"
方法以随机顺序排列,而默认值"average"
则按其平均值替换它们,"max"
和"min"
分别用它们的最大值和最小值替换它们,后者是典型的体育排名。
听起来你正在使用默认设置“average”来打破平局,它使用的是均值,不一定是整数。
内置文档应始终是寻求帮助的第一站。在这种情况下(大多数情况下),它详细介绍了所有的“花里胡哨” - 这里并不多:只有领带处理和NA处理。它底部也有例子。