List of usage examples for org.apache.commons.math3.stat.descriptive DescriptiveStatistics apply
public double apply(UnivariateStatistic stat)
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);
}