MATLAB 等效于 R 函数 rank()?
MATLAB equivalent of the R function rank()?
R有如下函数,rank()
https://www.rdocumentation.org/packages/base/versions/3.4.1/topics/rank
此函数的作用是计算 return 升序列表中每个元素的顺序。
(这不是函数 order()
,它 return 是每个元素在升序列表中的索引。)
MATLAB中有这样的函数吗?我怀疑在 MATLAB 中编写自己的此类函数效率很低。
是的,你可以使用 unique()
:
[~, ~, rank] = unique(A); % A is the array you want to rank
请注意,MATLAB 的 unique()
函数与 R 的 rank()
函数不同地解决关系。
或者,如果您想解决 rank()
这样的关系,那么您可以使用 tiedrank()
代替,前提是您有统计工具箱:
rank = tiedrank(A);
R有如下函数,rank()
https://www.rdocumentation.org/packages/base/versions/3.4.1/topics/rank
此函数的作用是计算 return 升序列表中每个元素的顺序。
(这不是函数 order()
,它 return 是每个元素在升序列表中的索引。)
MATLAB中有这样的函数吗?我怀疑在 MATLAB 中编写自己的此类函数效率很低。
是的,你可以使用 unique()
:
[~, ~, rank] = unique(A); % A is the array you want to rank
请注意,MATLAB 的 unique()
函数与 R 的 rank()
函数不同地解决关系。
或者,如果您想解决 rank()
这样的关系,那么您可以使用 tiedrank()
代替,前提是您有统计工具箱:
rank = tiedrank(A);