List of usage examples for org.apache.commons.math3.stat Frequency getCumPct
public double getCumPct(char v)
From source file:com.github.rvesse.github.pr.stats.PullRequestStats.java
private void outputCumulativePrecentage(Frequency freq, long value, String metric) { System.out.println("Under " + value + " " + metric + ": " + (long) (freq.getCumPct(value) * 100) + "%"); }
From source file:com.itemanalysis.jmetrik.stats.frequency.FrequencyAnalysis.java
public void publishTable(VariableAttributes v) { TextTableColumnFormat[] cformats = new TextTableColumnFormat[6]; cformats[0] = new TextTableColumnFormat(); cformats[0].setStringFormat(11, TextTableColumnFormat.OutputAlignment.LEFT); cformats[1] = new TextTableColumnFormat(); cformats[1].setIntFormat(10, TextTableColumnFormat.OutputAlignment.RIGHT); cformats[2] = new TextTableColumnFormat(); cformats[2].setDoubleFormat(10, 4, TextTableColumnFormat.OutputAlignment.RIGHT); cformats[3] = new TextTableColumnFormat(); cformats[3].setDoubleFormat(10, 4, TextTableColumnFormat.OutputAlignment.RIGHT); cformats[4] = new TextTableColumnFormat(); cformats[4].setIntFormat(10, TextTableColumnFormat.OutputAlignment.RIGHT); cformats[5] = new TextTableColumnFormat(); cformats[5].setDoubleFormat(10, 4, TextTableColumnFormat.OutputAlignment.RIGHT); Frequency temp = frequencyTables.get(v); TextTable table = new TextTable(); table.addAllColumnFormats(cformats, 4); table.getRowAt(0).addHeader(0, 6, v.getName().toString(), TextTablePosition.CENTER); table.getRowAt(1).addHorizontalRule(0, 6, "="); table.getRowAt(2).addHeader(0, 1, "Value", TextTablePosition.CENTER); table.getRowAt(2).addHeader(1, 1, "Frequency", TextTablePosition.CENTER); table.getRowAt(2).addHeader(2, 1, "Percent", TextTablePosition.CENTER); table.getRowAt(2).addHeader(3, 1, "Valid Pct.", TextTablePosition.CENTER); table.getRowAt(2).addHeader(4, 1, "Cum. Freq.", TextTablePosition.CENTER); table.getRowAt(2).addHeader(5, 1, "Cum. Pct.", TextTablePosition.CENTER); table.getRowAt(3).addHorizontalRule(0, 6, "-"); Iterator<Comparable<?>> iter = temp.valuesIterator(); int index = 4; double pctSum = 0.0; long validSum = temp.getSumFreq(); long miss = (long) (maxProgress - validSum); while (iter.hasNext()) { table.addRow(new TextTableRow(cformats.length), cformats); Comparable<?> value = iter.next(); table.addStringAt(index, 0, value.toString()); table.addLongAt(index, 1, temp.getCount(value)); table.addDoubleAt(index, 2, ((double) temp.getCount(value) / maxProgress) * 100); table.addDoubleAt(index, 3, temp.getPct(value) * 100); table.addLongAt(index, 4, temp.getCumFreq(value)); table.addDoubleAt(index, 5, temp.getCumPct(value) * 100); index++;//from www . ja va 2 s . c o m pctSum += (double) temp.getCount(value) / (double) maxProgress; } table.addRow(new TextTableRow(cformats.length), cformats); table.addStringAt(index, 0, "Valid Total"); table.addLongAt(index, 1, validSum); table.addDoubleAt(index, 2, pctSum * 100); table.addDoubleAt(index, 3, (double) validSum / (double) (maxProgress - miss) * 100); index++; table.addRow(new TextTableRow(cformats.length), cformats); table.addStringAt(index, 0, "Missing"); table.addLongAt(index, 1, miss); table.addDoubleAt(index, 2, ((double) miss / maxProgress) * 100); index++; table.addRow(new TextTableRow(cformats.length), cformats); table.addStringAt(index, 0, "Grand Total"); table.addLongAt(index, 1, (long) maxProgress); table.addDoubleAt(index, 2, ((double) (miss + temp.getSumFreq()) / maxProgress) * 100); index++; table.addRow(new TextTableRow(cformats.length), cformats); table.getRowAt(index).addHorizontalRule(0, 6, "="); publish(table.toString() + "\n"); }
From source file:org.apache.solr.client.solrj.io.eval.FrequencyTableEvaluator.java
@Override public Object doWork(Object... values) throws IOException { if (Arrays.stream(values).anyMatch(item -> null == item)) { return null; }//from ww w . j a v a 2 s .com List<?> sourceValues; if (values.length == 1) { sourceValues = values[0] instanceof List<?> ? (List<?>) values[0] : Arrays.asList(values[0]); } else { throw new IOException( String.format(Locale.ROOT, "Invalid expression %s - expecting at least one value but found %d", toExpression(constructingFactory), containedEvaluators.size())); } Frequency frequency = new Frequency(); for (Object o : sourceValues) { Number number = (Number) o; frequency.addValue(number.longValue()); } List<Tuple> histogramBins = new ArrayList<>(); Iterator iterator = frequency.valuesIterator(); while (iterator.hasNext()) { Long value = (Long) iterator.next(); Map<String, Number> map = new HashMap<>(); map.put("value", value.longValue()); map.put("count", frequency.getCount(value)); map.put("cumFreq", frequency.getCumFreq(value)); map.put("cumPct", frequency.getCumPct(value)); map.put("pct", frequency.getPct(value)); histogramBins.add(new Tuple(map)); } return histogramBins; }
From source file:reflex.module.ReflexStatistics.java
public ReflexValue frequency_cum_pct(List<ReflexValue> params) { if (params.size() != 2) { throw new ReflexException(-1, "frequency_count needs one frequency parameter and one value parameter"); }/*from w ww. j a v a 2 s . com*/ Frequency f = params.get(0).asObjectOfType(Frequency.class); double value = params.get(1).asDouble(); return new ReflexValue(f.getCumPct(value)); }