Example usage for org.apache.commons.math.stat.ranking NaturalRanking NaturalRanking

List of usage examples for org.apache.commons.math.stat.ranking NaturalRanking NaturalRanking

Introduction

In this page you can find the example usage for org.apache.commons.math.stat.ranking NaturalRanking NaturalRanking.

Prototype

public NaturalRanking(RandomGenerator randomGenerator) 

Source Link

Document

Create a NaturalRanking with TiesStrategy.RANDOM and the given RandomGenerator as the source of random data.

Usage

From source file:geogebra.kernel.statistics.AlgoTiedRank.java

protected final void compute() {

    size = inputList.size();/* w  ww  .  ja  v a 2s .  c o m*/
    if (!inputList.isDefined() || size == 0) {
        outputList.setUndefined();
        return;
    }

    inputArray = new double[size];

    // load input value array from  geoList
    for (int i = 0; i < size; i++) {
        GeoElement geo = inputList.get(i);
        if (geo.isNumberValue()) {
            NumberValue num = (NumberValue) geo;
            inputArray[i] = num.getDouble();
        } else {
            outputList.setUndefined();
            return;
        }
    }

    if (rankingAlgorithm == null)
        rankingAlgorithm = new NaturalRanking(TiesStrategy.AVERAGE);

    outputArray = rankingAlgorithm.rank(inputArray);

    // copy the ranks back into a list
    outputList.setDefined(true);
    outputList.clear();
    for (int i = 0; i < size; i++) {
        outputList.add(new GeoNumeric(cons, outputArray[i]));
    }
}

From source file:geogebra.common.kernel.statistics.AlgoTiedRank.java

@Override
public final void compute() {

    size = inputList.size();// www .  jav  a  2  s . c o m
    if (!inputList.isDefined() || size == 0) {
        outputList.setUndefined();
        return;
    }

    inputArray = new double[size];

    // load input value array from geoList
    for (int i = 0; i < size; i++) {
        GeoElement geo = inputList.get(i);
        if (geo instanceof NumberValue) {
            NumberValue num = (NumberValue) geo;
            inputArray[i] = num.getDouble();
        } else {
            outputList.setUndefined();
            return;
        }
    }

    if (rankingAlgorithm == null)
        rankingAlgorithm = new NaturalRanking(TiesStrategy.AVERAGE);

    outputArray = rankingAlgorithm.rank(inputArray);

    // copy the ranks back into a list
    outputList.setDefined(true);
    outputList.clear();
    for (int i = 0; i < size; i++) {
        outputList.add(new GeoNumeric(cons, outputArray[i]));
    }
}