Class Rank

java.lang.Object
ubic.basecode.math.Rank

public class Rank extends Object
Calculate rank statistics for arrays.
Author:
Paul Pavlidis
  • Constructor Details

    • Rank

      public Rank()
  • Method Details

    • order

      public static IntArrayList order(DoubleArrayList array)
      Return a permutation which puts the array in sorted order. In other words, the values returned indicate the positions of the sorted values in the original array (the lowest value has the lowest rank, but it could be located anywhere in the array). Indexes start from 0. Tied values are put in an arbitrary ordering.
      Parameters:
      array -
      Returns:
    • rankSum

      public static long rankSum(List<Double> ranks)
      Parameters:
      ranks -
      Returns:
    • rankTransform

      public static DoubleArrayList rankTransform(DoubleArrayList array)
      Rank transform an array. The ranks are constructed based on the sort order of the elements. That is, low values get low numbered ranks starting from 1.

      Ties are resolved by assigning the average rank for tied values. For example, instead of arbitrarily assigning ties ranks 3,4,5, all three values would get a rank of 4 and no value would get a rank of 3 or 5.

      Missing values are sorted in their natural order, which means they end up all at one end (at the high ('bad') end)

      Parameters:
      array - DoubleArrayList
      array - , or null if the ranks could not be computed.
      Returns:
      cern.colt.list.DoubleArrayList
    • rankTransform

      public static DoubleArrayList rankTransform(DoubleArrayList array, boolean descending)
      Rank transform an array. The ranks are constructed based on the sort order of the elements. That is, low values get low numbered ranks starting from 1, unless you set descending = true.

      Ties are resolved by assigning the average rank for tied values. For example, instead of arbitrarily assigning ties ranks 3,4,5, all three values would get a rank of 4 and no value would get a rank of 3 or 5.

      Missing values are sorted in their natural order, which means they end up all at one end (at the high ('bad') end)

      Parameters:
      array - DoubleArrayList
      descending - - reverse the usual ordering so larger values are the the front.
      Returns:
      cern.colt.list.DoubleArrayList, or null if the input is empty or null.
    • rankTransform

      public static <K> Map<K,Double> rankTransform(Map<K,? extends Comparable<?>> m)
      Rank transform a map, where the values are Comparable values we wish to rank. Ties are broken as for the other methods. Ranks are zero-based

      Missing values are sorted in their natural order, which means they end up all at one end (at the high ('bad') end)

      Parameters:
      m - java.util.Map with keys Objects, values Doubles.
      Returns:
      A java.util.Map keys=old keys, values=java.lang.Double rank of the key. Non-integer values mean tie splits.
    • rankTransform

      public static <K> Map<K,Double> rankTransform(Map<K,? extends Comparable<?>> m, boolean desc)
      Ties are broken as for the other methods. CAUTION - ranks start at 0.

      Missing values are sorted in their natural order, which means they end up all at one end (at the high ('bad') end)

      Type Parameters:
      K -
      Parameters:
      m -
      desc - if true, the lowest (first) rank will be for the highest value.
      Returns:
      A java.util.Map keys=old keys, values=java.lang.Double rank of the key. Non-integer values mean tie splits.