R具有以下功能rank()
https://www.rdocumentation.org/packages/base/versions/3.4.1/topics/rank
此函数的作用是计算并返回升序列表中每个元素的顺序。
(这不是函数order()
,它返回每个元素在升序列表中的索引。)
MATLAB中是否存在这样的功能?我怀疑在MATLAB中编写我自己的这样的函数效率很低。
答案 0 :(得分:4)
是的,您可以使用unique()
:
[~, ~, rank] = unique(A); % A is the array you want to rank
请注意,MATLAB的unique()
函数将解决与R rank()
函数不同的关系。
或者,如果您想要解决rank()
等问题,那么只要您拥有统计工具箱,就可以使用tiedrank()
:
rank = tiedrank(A);