rankn
The rankn function returns the ranked value of a general lua table that may contain non-numeric values, named keys, and sub-tables. Only numeric values found in the table are used in the calculation. The rank is specified as a percentile, between 0 and 100. By definition, the minimum value corresponds to rank = 0, the median value corresponds to rank = 50, and the maximum value corresponds to rank = 100. Since an array is a specific type of table that contains only numbers or sub-tables, this function can also be used for arrays.
nMedian = rankn( tbl, pct )
    tbl is a
general lua table.
    pct is the
percentile for calculating the rank.
The following script returns the of a 1-dimensional array containing 1 million random numbers. The random number generator produce a uniform distribution in the range [0, 1] with a mean value of 0.5. Within statistical noise, the 50th percentile should be close to 0.5.
| 
 | 
 -- create an array of numbers  | 
| 
 | 
 -- find the 50th percentile value  | 
| 
 | 
 
  | 
| 
 | 
 -- Result: Val = 0.500739, Med=.500739  | 
The next example computes the 30th percentile and median of an ugly, complex table:
| 
 | 
 
  | 
| 
 | 
 -- find the 30th percentile value  | 
| 
 | 
 -- result: Val = 5.4  | 
Table and Array Functions, mediann
Mira Pro x64 Script User's Guide, Copyright Ⓒ 2023 Mirametrics,
Inc. All Rights Reserved.