## org.jfree.data.statistics
Class Statistics

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

    public abstract class Statistics

extends java.lang.Object

A utility class that provides some simple statistical functions.

Constructor Summary
`Statistics()`

Method Summary
`static double` `calculateMean(java.util.Collection values)` Returns the mean of a collection of `Number` objects.
`static double` `calculateMean(java.lang.Number[] values)` Returns the mean of an array of numbers.
`static double` `calculateMedian(java.util.List values)` Calculates the median for a list of values (`Number` objects).
`static double` `calculateMedian(java.util.List values, boolean copyAndSort)` Calculates the median for a list of values (`Number` objects) that are assumed to be in ascending order.
`static double` `calculateMedian(java.util.List values, int start, int end)` Calculates the median for a sublist within a list of values (`Number` objects).
`static double` `calculateMedian(java.util.List values, int start, int end, boolean copyAndSort)` Calculates the median for a sublist within a list of values (`Number` objects).
`static double` `getCorrelation(java.lang.Number[] data1, java.lang.Number[] data2)` Calculates the correlation between two datasets.
`static double[]` `getLinearFit(java.lang.Number[] xData, java.lang.Number[] yData)` Fits a straight line to a set of (x, y) data, returning the slope and intercept.
`static double[][]` `getMovingAverage(java.lang.Number[] xData, java.lang.Number[] yData, int period)` Returns a data set for a moving average on the data set passed in.
`static double` `getSlope(java.lang.Number[] xData, java.lang.Number[] yData)` Finds the slope of a regression line using least squares.
`static double` `getStdDev(java.lang.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 Detail

### Statistics

    public Statistics()

Method Detail

### calculateMean

    public static double calculateMean(java.lang.Number[] values)

  Returns the mean of an array of numbers.

  Parameters:
    `values` - the values (`null` permitted, returns `Double.NaN`).
  Returns:
    The mean.

### calculateMean

    public static double calculateMean(java.util.Collection values)

  Returns the mean of a collection of `Number` objects.

  Parameters:
    `values` - the values (`null` permitted, returns `Double.NaN`).
  Returns:
    The mean.

### calculateMedian

    public static double calculateMedian(java.util.List values)

  Calculates the median for a list of values (`Number` objects). The list of values will be sorted first.

  Parameters:
    `values` - the values.
  Returns:
    The median.

### calculateMedian

    public static double calculateMedian(java.util.List values,
                                         boolean copyAndSort)

  Calculates the median for a list of values (`Number` objects) that are assumed to be in ascending order.

  Parameters:
    `values` - the values.
    `copyAndSort` - a flag that controls whether the list of values is copied and sorted.
  Returns:
    The median.

### calculateMedian

    public static double calculateMedian(java.util.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).
    `start` - the start index.
    `end` - the end index.
  Returns:
    The median.

### calculateMedian

    public static double calculateMedian(java.util.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</code< argument is <code>false`.

  Parameters:
    `values` - the values.
    `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(java.lang.Number[] data)

  Returns the standard deviation of a set of numbers.

  Parameters:
    `data` - the data.
  Returns:
    The standard deviation of a set of numbers.

### getLinearFit

    public static double[] getLinearFit(java.lang.Number[] xData,
                                        java.lang.Number[] yData)

  Fits a straight line to a set of (x, y) data, returning the slope and intercept.

  Parameters:
    `xData` - the x-data.
    `yData` - the y-data.
  Returns:
    A double array with the intercept in [0] and the slope in [1].

### getSlope

    public static double getSlope(java.lang.Number[] xData,
                                  java.lang.Number[] yData)

  Finds the slope of a regression line using least squares.

  Parameters:
    `xData` - an array of Numbers (the x values).
    `yData` - an array of Numbers (the y values).
  Returns:
    The slope.

### getCorrelation

    public static double getCorrelation(java.lang.Number[] data1,
                                        java.lang.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(java.lang.Number[] xData,
                                              java.lang.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