RankData
rank = RankData(data, alongDim, invalidRank)
Matlab function to rank each element of data.
Handles all data types accepted by matlab function unique.
Inspiration
Inspired by procrastination and this pick-of-the-week blog post to create a simple function that ranks data but simpler, much faster, and without the limitations from the previous submission.
Params
-
alongDim[default[]] - If empty, rank across all entries. If not empty, rank along entries for the specified dim -
invalidRank[defaultNaN] - Value invalid entries are set to.
Examples
Example 1
data = randn(2,3,4);
rank = RankData( data )
Example 2
Shows how repeated and invalid entries are handled.
data = [10 nan 11 nan nan 1 2 5 1 7];
rank = RankData(data)
Example 3
Shows how data types like categorical and its invalid data can be naturally handled.
data = randn(5);
data = discretize(data,linspace(0,1,10),'categorical');
rank = RankData(data)
Example 4
Output similar to tiedrank. While we demonstrate matched results, RankData can handle non numeric entries.
data = rand(3,4,2);
data(3,:,:) = data(2,:,:); % Match entries to force ties
alongDim = 1;
rank = tiedrank(RankData(data,alongDim));
isequal(rank,tiedrank(data))
Cite As
thosman (2026). RankData (https://github.com/tommyhosman/RankData), GitHub. Retrieved .
MATLAB Release Compatibility
Platform Compatibility
Windows macOS LinuxTags
Discover Live Editor
Create scripts with code, output, and formatted text in a single executable document.
Versions that use the GitHub default branch cannot be downloaded
| Version | Published | Release Notes | |
|---|---|---|---|
| 1.0.1 | Added alongDim |
|
|
| 1.0.0 |
|
