Example usage for org.apache.commons.math3.stat.descriptive DescriptiveStatistics apply

List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics apply

Introduction

In this page you can find the example usage for org.apache.commons.math3.stat.descriptive DescriptiveStatistics apply.

Prototype

public double apply(UnivariateStatistic stat) 

Source Link

Document

Apply the given statistic to the data associated with this set of statistics.

Usage

From source file:org.obiba.opal.web.magma.Dtos.java

@SuppressWarnings({ "OverlyLongMethod", "PMD.NcssMethodCount" })
public static Math.ContinuousSummaryDto.Builder asDto(ContinuousVariableSummary summary) {
    DescriptiveStatistics descriptiveStats = summary.getDescriptiveStats();

    Math.DescriptiveStatsDto.Builder descriptiveBuilder = Math.DescriptiveStatsDto.newBuilder()
            .setN(descriptiveStats.getN()).addAllPercentiles(summary.getPercentiles());

    if (isNumeric(descriptiveStats.getMin()))
        descriptiveBuilder.setMin(descriptiveStats.getMin());
    if (isNumeric(descriptiveStats.getMax()))
        descriptiveBuilder.setMax(descriptiveStats.getMax());
    if (isNumeric(descriptiveStats.getMean()))
        descriptiveBuilder.setMean(descriptiveStats.getMean());
    if (isNumeric(descriptiveStats.getSum()))
        descriptiveBuilder.setSum(descriptiveStats.getSum());
    if (isNumeric(descriptiveStats.getSumsq()))
        descriptiveBuilder.setSumsq(descriptiveStats.getSumsq());
    if (isNumeric(descriptiveStats.getStandardDeviation())) {
        descriptiveBuilder.setStdDev(descriptiveStats.getStandardDeviation());
    }/*from  w w w .  j a v a  2s  . c o  m*/
    if (isNumeric(descriptiveStats.getVariance()))
        descriptiveBuilder.setVariance(descriptiveStats.getVariance());
    if (isNumeric(descriptiveStats.getSkewness()))
        descriptiveBuilder.setSkewness(descriptiveStats.getSkewness());
    if (isNumeric(descriptiveStats.getGeometricMean())) {
        descriptiveBuilder.setGeometricMean(descriptiveStats.getGeometricMean());
    }
    if (isNumeric(descriptiveStats.getKurtosis()))
        descriptiveBuilder.setKurtosis(descriptiveStats.getKurtosis());
    double median = descriptiveStats.apply(new Median());
    if (isNumeric(median))
        descriptiveBuilder.setMedian(median);
    if (isNumeric(descriptiveStats.getVariance()))
        descriptiveBuilder.setVariance(descriptiveStats.getVariance());

    Math.ContinuousSummaryDto.Builder continuousBuilder = Math.ContinuousSummaryDto.newBuilder()
            .addAllDistributionPercentiles(summary.getDistributionPercentiles());
    for (IntervalFrequency.Interval interval : summary.getIntervalFrequencies()) {
        Math.IntervalFrequencyDto.Builder freqBuilder = Math.IntervalFrequencyDto.newBuilder()
                .setFreq(interval.getFreq());
        if (isNumeric(interval.getLower()))
            freqBuilder.setLower(interval.getLower());
        if (isNumeric(interval.getUpper()))
            freqBuilder.setUpper(interval.getUpper());
        if (isNumeric(interval.getDensity()))
            freqBuilder.setDensity(interval.getDensity());
        if (isNumeric(interval.getDensityPct()))
            freqBuilder.setDensityPct(interval.getDensityPct());
        continuousBuilder.addIntervalFrequency(freqBuilder);
    }

    for (ContinuousVariableSummary.Frequency frequency : summary.getFrequencies()) {
        Math.FrequencyDto.Builder freqBuilder = Math.FrequencyDto.newBuilder() //
                .setValue(frequency.getValue()) //
                .setFreq(frequency.getFreq())//
                .setMissing(frequency.isMissing());
        if (isNumeric(frequency.getPct()))
            freqBuilder.setPct(frequency.getPct());
        continuousBuilder.addFrequencies(freqBuilder);
    }

    return continuousBuilder.setSummary(descriptiveBuilder);
}