// Copyright (C) 2008-2009 Christian M. Zmasek
// Copyright (C) 2008-2009 Burnham Institute for Medical Research
// All rights reserved
-//
+//
// This library is free software; you can redistribute it and/or
// modify it under the terms of the GNU Lesser General Public
// License as published by the Free Software Foundation; either
// but WITHOUT ANY WARRANTY; without even the implied warranty of
// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
// Lesser General Public License for more details.
-//
+//
// You should have received a copy of the GNU Lesser General Public
// License along with this library; if not, write to the Free Software
// Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA
private double _max;
private double _sigma;
private boolean _recalc_sigma;
+ private String _desc;
public BasicDescriptiveStatistics() {
init();
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#addValue(double)
*/
+ @Override
public void addValue( final double d ) {
_recalc_sigma = true;
_sum += d;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#arithmeticMean()
*/
+ @Override
public double arithmeticMean() {
validate();
return getSum() / getN();
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#asSummary()
*/
+ @Override
public String asSummary() {
if ( getN() > 1 ) {
return arithmeticMean() + DescriptiveStatistics.PLUS_MINUS + sampleStandardDeviation() + " [" + getMin()
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#coefficientOfVariation()
*/
+ @Override
public double coefficientOfVariation() {
validate();
return ( sampleStandardDeviation() / arithmeticMean() );
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getDataAsDoubleArray()
*/
+ @Override
public double[] getDataAsDoubleArray() {
validate();
final double[] data_array = new double[ getN() ];
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getMax()
*/
+ @Override
public double getMax() {
validate();
return _max;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getMin()
*/
+ @Override
public double getMin() {
validate();
return _min;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getN()
*/
+ @Override
public int getN() {
return _data.size();
}
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getSum()
*/
+ @Override
public double getSum() {
validate();
return _sum;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getSummaryAsString()
*/
+ @Override
public String getSummaryAsString() {
validate();
final double mean = arithmeticMean();
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#getValue(int)
*/
+ @Override
public double getValue( final int index ) {
validate();
return ( ( ( _data.get( index ) ) ).doubleValue() );
_max = -Double.MAX_VALUE;
_sigma = 0.0;
_recalc_sigma = true;
+ _desc = "";
}
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#median()
*/
+ @Override
public double median() {
validate();
double median = 0.0;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#midrange()
*/
+ @Override
public double midrange() {
validate();
return ( _min + _max ) / 2.0;
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#pearsonianSkewness()
*/
+ @Override
public double pearsonianSkewness() {
validate();
final double mean = arithmeticMean();
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#sampleStandardDeviation()
*/
+ @Override
public double sampleStandardDeviation() {
return Math.sqrt( sampleVariance() );
}
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#sampleStandardUnit(double)
*/
+ @Override
public double sampleStandardUnit( final double value ) {
validate();
return BasicDescriptiveStatistics.sampleStandardUnit( value, arithmeticMean(), sampleStandardDeviation() );
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#sampleVariance()
*/
+ @Override
public double sampleVariance() {
validate();
if ( getN() < 2 ) {
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#standardErrorOfMean()
*/
+ @Override
public double standardErrorOfMean() {
validate();
return ( sampleStandardDeviation() / Math.sqrt( getN() ) );
/* (non-Javadoc)
* @see org.forester.util.DescriptiveStatisticsI#sumDeviations()
*/
+ @Override
public double sumDeviations() {
validate();
if ( _recalc_sigma ) {
public static double sampleStandardUnit( final double value, final double mean, final double sd ) {
return ( value - mean ) / sd;
}
+
+ @Override
+ public List<Double> getData() {
+ return _data;
+ }
+
+ @Override
+ public void setDescription( final String desc ) {
+ _desc = desc;
+ }
+
+ @Override
+ public String getDescription() {
+ return _desc;
+ }
}