Example usage for org.apache.commons.math.stat.correlation SpearmansCorrelation SpearmansCorrelation

List of usage examples for org.apache.commons.math.stat.correlation SpearmansCorrelation SpearmansCorrelation

Introduction

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

Prototype

public SpearmansCorrelation() 

Source Link

Document

Create a SpearmansCorrelation without data.

Usage

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

protected final void compute() {

    if (input.length == 1) {
        // input is single list of points
        int size = geoListPts.size();
        if (!geoListPts.isDefined() || size < 2) {
            result.setUndefined();//from ww  w.j a  va 2  s .  com
            return;
        }

        valX = new double[size];
        valY = new double[size];

        for (int i = 0; i < size; i++) {
            GeoElement geo = geoListPts.get(i);
            if (geo.isGeoPoint()) {
                double x = ((GeoPoint) geo).getX();
                double y = ((GeoPoint) geo).getY();
                double z = ((GeoPoint) geo).getZ();
                valX[i] = x / z;
                valY[i] = y / z;
            } else {
                result.setUndefined();
                return;
            }
        }

    } else {
        // input is two lists
        int sizeX = geoListX.size();
        int sizeY = geoListY.size();
        if (!geoListX.isDefined() || !geoListY.isDefined() || sizeX < 2 || sizeX != sizeY) {
            result.setUndefined();
            return;
        }

        valX = new double[sizeX];
        valY = new double[sizeX];

        for (int i = 0; i < sizeX; i++) {
            GeoElement geox = geoListX.get(i);
            GeoElement geoy = geoListY.get(i);
            if (geox.isNumberValue() && geoy.isNumberValue()) {
                NumberValue numx = (NumberValue) geox;
                NumberValue numy = (NumberValue) geoy;
                valX[i] = numx.getDouble();
                valY[i] = numy.getDouble();

            } else {
                result.setUndefined();
                return;
            }
        }
    }

    if (sp == null)
        sp = new SpearmansCorrelation();

    result.setValue(sp.correlation(valX, valY));

}

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

@Override
public final void compute() {

    if (input.length == 1) {
        // input is single list of points
        int size = geoListPts.size();
        if (!geoListPts.isDefined() || size < 2) {
            result.setUndefined();// w  w w .j a  v  a  2  s  .c  o  m
            return;
        }

        valX = new double[size];
        valY = new double[size];

        for (int i = 0; i < size; i++) {
            GeoElement geo = geoListPts.get(i);
            if (geo.isGeoPoint()) {
                double x = ((GeoPoint) geo).getX();
                double y = ((GeoPoint) geo).getY();
                double z = ((GeoPoint) geo).getZ();
                valX[i] = x / z;
                valY[i] = y / z;
            } else {
                result.setUndefined();
                return;
            }
        }

    } else {
        // input is two lists
        int sizeX = geoListX.size();
        int sizeY = geoListY.size();
        if (!geoListX.isDefined() || !geoListY.isDefined() || sizeX < 2 || sizeX != sizeY) {
            result.setUndefined();
            return;
        }

        valX = new double[sizeX];
        valY = new double[sizeX];

        for (int i = 0; i < sizeX; i++) {
            GeoElement geox = geoListX.get(i);
            GeoElement geoy = geoListY.get(i);
            if (geox instanceof NumberValue && geoy instanceof NumberValue) {
                NumberValue numx = (NumberValue) geox;
                NumberValue numy = (NumberValue) geoy;
                valX[i] = numx.getDouble();
                valY[i] = numy.getDouble();

            } else {
                result.setUndefined();
                return;
            }
        }
    }

    if (sp == null)
        sp = new SpearmansCorrelation();

    result.setValue(sp.correlation(valX, valY));

}

From source file:cal.binBased.Calculate_BinSpectrum_Similarity.java

/**
 * This method calculates correlation coefficients between two MSnSpectrum
 * object while taking into account of intensities of the mutual peaks. A
 * perfect score is 1 (or -1). And value range is [-1:1]
 *
 *///w w w . j ava  2s . c o m
public void calculateCorrelation() {
    // TODO: Make sure if any of binSpectra is empty, score i NaN!       
    if (sim_method.equals(SimilarityMethods.SPEARMANS_CORRELATION)) {
        SpearmansCorrelation sc = new SpearmansCorrelation();
        score = sc.correlation(bin_specA.getBin_spectrum(), bin_specB.getBin_spectrum());
    } else if (sim_method.equals(SimilarityMethods.PEARSONS_CORRELATION)) {
        PearsonsCorrelation pc = new PearsonsCorrelation();
        score = pc.correlation(bin_specA.getBin_spectrum(), bin_specB.getBin_spectrum());
    }
}

From source file:org.dkpro.statistics.correlation.SpearmansRankCorrelation.java

/**
 * Computes the correlation between two datasets.
 * @param list1 The first dataset as a list.
 * @param list2 The second dataset as a list.
 * @return The correlation between the two datasets.
 *//*from w w  w.j  av  a 2  s.  co m*/
public static double computeCorrelation(List<Double> list1, List<Double> list2) {
    double[] l1 = new double[list1.size()];
    double[] l2 = new double[list2.size()];

    for (int i = 0; i < list1.size(); i++) {
        l1[i] = list1.get(i);
    }
    for (int i = 0; i < list2.size(); i++) {
        l2[i] = list2.get(i);
    }

    SpearmansCorrelation sc = new SpearmansCorrelation();
    return sc.correlation(l1, l2);
}