org.jfree.data.statistics
Class Statistics

java.lang.Object
  extended byorg.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 ascendingfalse.

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