Class Statistics

java.lang.Object
org.jfree.data.statistics.Statistics

public abstract class Statistics
extends Object
A utility class that provides some common statistical functions.
  • Constructor Summary

    Constructors
    Constructor Description
    Statistics()  
  • Method Summary

    Modifier and Type Method Description
    static double calculateMean​(Number[] values)
    Returns the mean of an array of numbers.
    static double calculateMean​(Number[] values, boolean includeNullAndNaN)
    Returns the mean of an array of numbers.
    static double calculateMean​(Collection values)
    Returns the mean of a collection of Number objects.
    static double calculateMean​(Collection values, boolean includeNullAndNaN)
    Returns the mean of a collection of Number objects.
    static double calculateMedian​(List values)
    Calculates the median for a list of values (Number objects).
    static double calculateMedian​(List values, boolean copyAndSort)
    Calculates the median for a list of values (Number objects).
    static double calculateMedian​(List values, int start, int end)
    Calculates the median for a sublist within a list of values (Number objects).
    static double calculateMedian​(List values, int start, int end, boolean copyAndSort)
    Calculates the median for a sublist within a list of values (Number objects).
    static double getCorrelation​(Number[] data1, Number[] data2)
    Calculates the correlation between two datasets.
    static double[] getLinearFit​(Number[] xData, Number[] yData)
    Fits a straight line to a set of (x, y) data, returning the slope and intercept.
    static double[][] getMovingAverage​(Number[] xData, Number[] yData, int period)
    Returns a data set for a moving average on the data set passed in.
    static double getSlope​(Number[] xData, Number[] yData)
    Finds the slope of a regression line using least squares.
    static double getStdDev​(Number[] data)
    Returns the standard deviation of a set of numbers.

    Methods inherited from class java.lang.Object

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

  • Method Details

    • calculateMean

      public static double calculateMean​(Number[] values)
      Returns the mean of an array of numbers. This is equivalent to calling calculateMean(values, true).
      Parameters:
      values - the values (null not permitted).
      Returns:
      The mean.
    • calculateMean

      public static double calculateMean​(Number[] values, boolean includeNullAndNaN)
      Returns the mean of an array of numbers.
      Parameters:
      values - the values (null not permitted).
      includeNullAndNaN - a flag that controls whether or not null and Double.NaN values are included in the calculation (if either is present in the array, the result is Double.NaN).
      Returns:
      The mean.
    • calculateMean

      public static double calculateMean​(Collection values)
      Returns the mean of a collection of Number objects.
      Parameters:
      values - the values (null not permitted).
      Returns:
      The mean.
    • calculateMean

      public static double calculateMean​(Collection values, boolean includeNullAndNaN)
      Returns the mean of a collection of Number objects.
      Parameters:
      values - the values (null not permitted).
      includeNullAndNaN - a flag that controls whether or not null and Double.NaN values are included in the calculation (if either is present in the array, the result is Double.NaN).
      Returns:
      The mean.
    • calculateMedian

      public static double calculateMedian​(List values)
      Calculates the median for a list of values (Number objects). The list of values will be copied, and the copy sorted, before calculating the median. To avoid this step (if your list of values is already sorted), use the calculateMedian(List, boolean) method.
      Parameters:
      values - the values (null permitted).
      Returns:
      The median.
    • calculateMedian

      public static double calculateMedian​(List values, boolean copyAndSort)
      Calculates the median for a list of values (Number objects). If copyAndSort is false, the list is assumed to be presorted in ascending order by value.
      Parameters:
      values - the values (null permitted).
      copyAndSort - a flag that controls whether the list of values is copied and sorted.
      Returns:
      The median.
    • calculateMedian

      public static double calculateMedian​(List values, int start, int end)
      Calculates the median for a sublist within a list of values (Number objects).
      Parameters:
      values - the values, in any order (null not permitted).
      start - the start index.
      end - the end index.
      Returns:
      The median.
    • calculateMedian

      public static double calculateMedian​(List values, int start, int end, boolean copyAndSort)
      Calculates the median for a sublist within a list of values (Number objects). The entire list will be sorted if the ascending argument is false.
      Parameters:
      values - the values (null not permitted).
      start - the start index.
      end - the end index.
      copyAndSort - a flag that that controls whether the list of values is copied and sorted.
      Returns:
      The median.
    • getStdDev

      public static double getStdDev​(Number[] data)
      Returns the standard deviation of a set of numbers.
      Parameters:
      data - the data (null or zero length array not permitted).
      Returns:
      The standard deviation of a set of numbers.
    • getLinearFit

      public static double[] getLinearFit​(Number[] xData, Number[] yData)
      Fits a straight line to a set of (x, y) data, returning the slope and intercept.
      Parameters:
      xData - the x-data (null not permitted).
      yData - the y-data (null not permitted).
      Returns:
      A double array with the intercept in [0] and the slope in [1].
    • getSlope

      public static double getSlope​(Number[] xData, Number[] yData)
      Finds the slope of a regression line using least squares.
      Parameters:
      xData - the x-values (null not permitted).
      yData - the y-values (null not permitted).
      Returns:
      The slope.
    • getCorrelation

      public static double getCorrelation​(Number[] data1, Number[] data2)
      Calculates the correlation between two datasets. Both arrays should contain the same number of items. Null values are treated as zero.

      Information about the correlation calculation was obtained from: http://trochim.human.cornell.edu/kb/statcorr.htm

      Parameters:
      data1 - the first dataset.
      data2 - the second dataset.
      Returns:
      The correlation.
    • getMovingAverage

      public static double[][] getMovingAverage​(Number[] xData, Number[] yData, int period)
      Returns a data set for a moving average on the data set passed in.
      Parameters:
      xData - an array of the x data.
      yData - an array of the y data.
      period - the number of data points to average
      Returns:
      A double[][] the length of the data set in the first dimension, with two doubles for x and y in the second dimension