X-Git-Url: http://source.jalview.org/gitweb/?a=blobdiff_plain;f=forester%2Fjava%2Fsrc%2Forg%2Fforester%2Futil%2FBasicDescriptiveStatistics.java;h=057b388dfce1b8d59f755d66377aa7409a9db4cd;hb=256204975bca8c5e5c00a9728caff30c52bd65cc;hp=4d73ffb9675fdcafb6d4fd9a1b7c3785ed8ea370;hpb=321da767c9d9eb4e5f40f656e16005ff9244fd4d;p=jalview.git diff --git a/forester/java/src/org/forester/util/BasicDescriptiveStatistics.java b/forester/java/src/org/forester/util/BasicDescriptiveStatistics.java index 4d73ffb..057b388 100644 --- a/forester/java/src/org/forester/util/BasicDescriptiveStatistics.java +++ b/forester/java/src/org/forester/util/BasicDescriptiveStatistics.java @@ -23,7 +23,7 @@ // Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA // // Contact: phylosoft @ gmail . com -// WWW: www.phylosoft.org/forester +// WWW: https://sites.google.com/site/cmzmasek/home/software/forester package org.forester.util; @@ -45,9 +45,11 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { init(); } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#addValue(double) - */ + public BasicDescriptiveStatistics( final String desc ) { + init(); + setDescription( desc ); + } + @Override public void addValue( final double d ) { _recalc_sigma = true; @@ -61,18 +63,12 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { } } - /* (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 ) { @@ -84,18 +80,17 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { } } - /* (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 List getData() { + return _data; + } + @Override public double[] getDataAsDoubleArray() { validate(); @@ -106,74 +101,48 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { return data_array; } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#getMax() - */ + @Override + public String getDescription() { + return _desc; + } + @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(); final double sd = sampleStandardDeviation(); - return "" + mean + ( ( char ) 177 ) + sd + " [" + getMin() + "..." + getMax() + "]"; + return "" + mean + ( ( char ) 177 ) + sd + " [" + getN() + "] [" + getMin() + "-" + getMax() + "]"; } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#getValue(int) - */ @Override public double getValue( final int index ) { validate(); return ( ( ( _data.get( index ) ) ).doubleValue() ); } - private void init() { - _data = new ArrayList(); - _sum = 0.0; - _min = Double.MAX_VALUE; - _max = -Double.MAX_VALUE; - _sigma = 0.0; - _recalc_sigma = true; - _desc = ""; - } - - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#median() - */ @Override public double median() { validate(); @@ -196,18 +165,12 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { return median; } - /* (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(); @@ -217,47 +180,37 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { return ( ( 3 * ( mean - median ) ) / sd ); } - /* (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 ) { - throw new ArithmeticException( "attempt to calculate sample variance for less then two values" ); + return 0; } return ( sumDeviations() / ( getN() - 1 ) ); } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#standardErrorOfMean() - */ + @Override + public void setDescription( final String desc ) { + _desc = desc; + } + @Override public double standardErrorOfMean() { validate(); return ( sampleStandardDeviation() / Math.sqrt( getN() ) ); } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#sumDeviations() - */ @Override public double sumDeviations() { validate(); @@ -272,9 +225,6 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { return _sigma; } - /* (non-Javadoc) - * @see org.forester.util.DescriptiveStatisticsI#toString() - */ @Override public String toString() { if ( getN() < 1 ) { @@ -309,6 +259,16 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { return sb.toString(); } + private void init() { + _data = new ArrayList(); + _sum = 0.0; + _min = Double.MAX_VALUE; + _max = -Double.MAX_VALUE; + _sigma = 0.0; + _recalc_sigma = true; + _desc = ""; + } + private void validate() throws ArithmeticException { if ( getN() < 1 ) { throw new ArithmeticException( "attempt to get a result from empty data set statistics" ); @@ -358,19 +318,4 @@ public class BasicDescriptiveStatistics implements DescriptiveStatistics { public static double sampleStandardUnit( final double value, final double mean, final double sd ) { return ( value - mean ) / sd; } - - @Override - public List getData() { - return _data; - } - - @Override - public void setDescription( final String desc ) { - _desc = desc; - } - - @Override - public String getDescription() { - return _desc; - } }