https://github.com/rt2zz/datarank
Rank array data
https://github.com/rt2zz/datarank
Last synced: 17 days ago
JSON representation
Rank array data
- Host: GitHub
- URL: https://github.com/rt2zz/datarank
- Owner: rt2zz
- Created: 2014-06-12T02:18:42.000Z (almost 11 years ago)
- Default Branch: master
- Last Pushed: 2015-02-25T08:06:09.000Z (about 10 years ago)
- Last Synced: 2025-04-29T08:43:51.905Z (25 days ago)
- Language: JavaScript
- Size: 145 KB
- Stars: 2
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
datarank
========Used to create simple tied ranks.
```
var Rank = require('datarank')// Sample data
var data = [
{id: 'a', value: 1},
{id: 'b', value: 2},
{id: 'c', value: 2},
{id: 'd', value: 2},
{id: 'e', value: 3}
]// Examples
Rank(data, 'value').rank().normalize().value()
// { data: (sorted data), rank: [0, .25, .5, .75, 1] }Rank(data, 'value').rank().value()
// { data: (sorted data), rank: [0, 1, 2, 3, 4] }Rank(data, 'value').tiedRank().normalize().value()
// { data: (sorted data), rank: [0, .5, .5, .5, 1] }Rank(data, 'value').tiedRank().value()
// { data: (sorted data), rank: [0, 2, 2, 2, 4] }Rank(data, 'value').tiedRank().value('merged')
// [{id: 'a', value: 1, rank: 0}, {id: 'b', value: 2, rank: 2}, ... ]
```
##Usage
####Rank(data, key, [direction])
Creates a new ranking object
- `data` - an array of objects
- `key` - the key to sort on
- `direction` (optional) - -1 will invert the sort####.rank()
Perform a simple ranking####.tiedRank()
Average out rank of ties####.normalize()
Normalize ranks from 0 to 1####.value([format])
Return the ranking
- `format` (optional) - 'merged' will add the ranking to the data rows under the rank key