Skip navigation links
org.apache.openejb.math.stat.descriptive.rank

Class Percentile

    • Constructor Summary

      Constructors 
      Constructor and Description
      Percentile()
      Constructs a Percentile with a default quantile value of 50.0.
      Percentile(double p)
      Constructs a Percentile with the specific quantile value.
      Percentile(Percentile original)
      Copy constructor, creates a new Percentile identical to the original
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods 
      Modifier and Type Method and Description
      Percentile copy()
      Returns a copy of the statistic with the same internal state.
      static void copy(Percentile source, Percentile dest)
      Copies source to dest.
      double evaluate(double[] values, double p)
      Returns an estimate of the pth percentile of the values in the values array.
      double evaluate(double[] values, int start, int length)
      Returns an estimate of the quantileth percentile of the designated values in the values array.
      double evaluate(double[] values, int begin, int length, double p)
      Returns an estimate of the pth percentile of the values in the values array, starting with the element in (0-based) position begin in the array and including length values.
      double getQuantile()
      Returns the value of the quantile field (determines what percentile is computed when evaluate() is called with no quantile argument).
      void setQuantile(double p)
      Sets the value of the quantile field (determines what percentile is computed when evaluate() is called with no quantile argument).
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • Percentile

        public Percentile()
        Constructs a Percentile with a default quantile value of 50.0.
      • Percentile

        public Percentile(double p)
        Constructs a Percentile with the specific quantile value.
        Parameters:
        p - the quantile
        Throws:
        java.lang.IllegalArgumentException - if p is not greater than 0 and less than or equal to 100
      • Percentile

        public Percentile(Percentile original)
        Copy constructor, creates a new Percentile identical to the original
        Parameters:
        original - the Percentile instance to copy
    • Method Detail

      • evaluate

        public double evaluate(double[] values,
                               double p)
        Returns an estimate of the pth percentile of the values in the values array.

        Calls to this method do not modify the internal quantile state of this statistic.

        • Returns Double.NaN if values has length 0
        • Returns (for any value of p) values[0] if values has length 1
        • Throws IllegalArgumentException if values is null or p is not a valid quantile value (p must be greater than 0 and less than or equal to 100)

        See Percentile for a description of the percentile estimation algorithm used.

        Parameters:
        values - input array of values
        p - the percentile value to compute
        Returns:
        the percentile value or Double.NaN if the array is empty
        Throws:
        java.lang.IllegalArgumentException - if values is null or p is invalid
      • evaluate

        public double evaluate(double[] values,
                               int start,
                               int length)
        Returns an estimate of the quantileth percentile of the designated values in the values array. The quantile estimated is determined by the quantile property.

        • Returns Double.NaN if length = 0
        • Returns (for any value of quantile) values[begin] if length = 1
        • Throws IllegalArgumentException if values is null, or start or length is invalid

        See Percentile for a description of the percentile estimation algorithm used.

        Specified by:
        evaluate in interface UnivariateStatistic
        Specified by:
        evaluate in class AbstractUnivariateStatistic
        Parameters:
        values - the input array
        start - index of the first array element to include
        length - the number of elements to include
        Returns:
        the percentile value
        Throws:
        java.lang.IllegalArgumentException - if the parameters are not valid
      • evaluate

        public double evaluate(double[] values,
                               int begin,
                               int length,
                               double p)
        Returns an estimate of the pth percentile of the values in the values array, starting with the element in (0-based) position begin in the array and including length values.

        Calls to this method do not modify the internal quantile state of this statistic.

        • Returns Double.NaN if length = 0
        • Returns (for any value of p) values[begin] if length = 1
        • Throws IllegalArgumentException if values is null , begin or length is invalid, or p is not a valid quantile value (p must be greater than 0 and less than or equal to 100)

        See Percentile for a description of the percentile estimation algorithm used.

        Parameters:
        values - array of input values
        p - the percentile to compute
        begin - the first (0-based) element to include in the computation
        length - the number of array elements to include
        Returns:
        the percentile value
        Throws:
        java.lang.IllegalArgumentException - if the parameters are not valid or the input array is null
      • getQuantile

        public double getQuantile()
        Returns the value of the quantile field (determines what percentile is computed when evaluate() is called with no quantile argument).
        Returns:
        quantile
      • setQuantile

        public void setQuantile(double p)
        Sets the value of the quantile field (determines what percentile is computed when evaluate() is called with no quantile argument).
        Parameters:
        p - a value between 0 < p <= 100
        Throws:
        java.lang.IllegalArgumentException - if p is not greater than 0 and less than or equal to 100
      • copy

        public static void copy(Percentile source,
                                Percentile dest)
        Copies source to dest.

        Neither source nor dest can be null.

        Parameters:
        source - Percentile to copy
        dest - Percentile to copy to
        Throws:
        java.lang.NullPointerException - if either source or dest is null