org.jfree.data.statistics

Class Statistics


public abstract class Statistics
extends java.lang.Object

A utility class that provides some simple statistical functions.

Method Summary

static double
calculateMean(Collection values)
Returns the mean of a collection of Number objects.
static double
calculateMean(Number[] values)
Returns the mean of an array of numbers.
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) that are assumed to be in ascending order.
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.

Method Details

calculateMean

public static double calculateMean(Collection values)
Returns the mean of a collection of Number objects.
Parameters:
values - the values (null permitted, returns Double.NaN).
Returns:
The mean.

calculateMean

public static double calculateMean(Number[] values)
Returns the mean of an array of numbers.
Parameters:
values - the values (null permitted, returns 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 sorted first.
Parameters:
values - the values.
Returns:
The median.

calculateMedian

public static double calculateMedian(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(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(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.

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.

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.
yData - the y-data.
Returns:
A double array with the intercept in [0] and the slope in [1].

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

getSlope

public static double getSlope(Number[] xData,
                              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.

getStdDev

public static double getStdDev(Number[] data)
Returns the standard deviation of a set of numbers.
Parameters:
data - the data.
Returns:
The standard deviation of a set of numbers.