org.apache.commons.math3.stat.descriptive.rank

## Class Median

- java.lang.Object
- - org.apache.commons.math3.stat.descriptive.AbstractUnivariateStatistic
  - - org.apache.commons.math3.stat.descriptive.rank.Percentile
    - - org.apache.commons.math3.stat.descriptive.rank.Median

- All Implemented Interfaces:
    Serializable, UnivariateStatistic, MathArrays.Function

      public class Median
      extends Percentile
      implements Serializable

  Returns the median of the available values. This is the same as the 50th percentile. See `Percentile` for a description of the algorithm used.

  Note that this implementation is not synchronized. If multiple threads access an instance of this class concurrently, and at least one of the threads invokes the `increment()` or `clear()` method, it must be synchronized externally.

  See Also:
    Serialized Form

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.apache.commons.math3.stat.descriptive.rank.Percentile

      `Percentile.EstimationType`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `Median()` Default constructor.
    `Median(Median original)` Copy constructor, creates a new `Median` identical to the `original`

  - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `Median` | `withEstimationType(Percentile.EstimationType newEstimationType)` Build a new instance similar to the current one except for the `estimation type`.
    `Median` | `withKthSelector(KthSelector newKthSelector)` Build a new instance similar to the current one except for the `kthSelector` instance specifically set.
    `Median` | `withNaNStrategy(NaNStrategy newNaNStrategy)` Build a new instance similar to the current one except for the `NaN handling` strategy.

    - ### Methods inherited from class org.apache.commons.math3.stat.descriptive.rank.Percentile

      `copy, copy, evaluate, evaluate, evaluate, evaluate, getEstimationType, getKthSelector, getNaNStrategy, getPivotingStrategy, getQuantile, getWorkArray, setData, setData, setQuantile`

    - ### Methods inherited from class org.apache.commons.math3.stat.descriptive.AbstractUnivariateStatistic

      `evaluate, evaluate, getData, getDataRef, test, test, test, test`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### Median

          public Median()

      Default constructor.

    - #### Median

          public Median(Median original)
                 throws NullArgumentException

      Copy constructor, creates a new `Median` identical to the `original`
      Parameters:
        `original` - the `Median` instance to copy
      Throws:
        `NullArgumentException` - if original is null

  - ### Method Detail

    - #### withEstimationType

          public Median withEstimationType(Percentile.EstimationType newEstimationType)

      Build a new instance similar to the current one except for the `estimation type`.

      This method is intended to be used as part of a fluent-type builder pattern. Building finely tune instances should be done as follows:

             Percentile customized = new Percentile(quantile).
                                     withEstimationType(estimationType).
                                     withNaNStrategy(nanStrategy).
                                     withKthSelector(kthSelector);

      If any of the `withXxx` method is omitted, the default value for the corresponding customization parameter will be used.

      Overrides:
        `withEstimationType` in class `Percentile`
      Parameters:
        `newEstimationType` - estimation type for the new instance
      Returns:
        a new instance, with changed estimation type

    - #### withNaNStrategy

          public Median withNaNStrategy(NaNStrategy newNaNStrategy)

      Build a new instance similar to the current one except for the `NaN handling` strategy.

      This method is intended to be used as part of a fluent-type builder pattern. Building finely tune instances should be done as follows:

             Percentile customized = new Percentile(quantile).
                                     withEstimationType(estimationType).
                                     withNaNStrategy(nanStrategy).
                                     withKthSelector(kthSelector);

      If any of the `withXxx` method is omitted, the default value for the corresponding customization parameter will be used.

      Overrides:
        `withNaNStrategy` in class `Percentile`
      Parameters:
        `newNaNStrategy` - NaN strategy for the new instance
      Returns:
        a new instance, with changed NaN handling strategy

    - #### withKthSelector

          public Median withKthSelector(KthSelector newKthSelector)

      Build a new instance similar to the current one except for the `kthSelector` instance specifically set.

      This method is intended to be used as part of a fluent-type builder pattern. Building finely tune instances should be done as follows:

             Percentile customized = new Percentile(quantile).
                                     withEstimationType(estimationType).
                                     withNaNStrategy(nanStrategy).
                                     withKthSelector(newKthSelector);

      If any of the `withXxx` method is omitted, the default value for the corresponding customization parameter will be used.

      Overrides:
        `withKthSelector` in class `Percentile`
      Parameters:
        `newKthSelector` - KthSelector for the new instance
      Returns:
        a new instance, with changed KthSelector

Copyright © 2003–2016 The Apache Software Foundation. All rights reserved.