List of usage examples for org.apache.commons.math.stat.correlation SpearmansCorrelation SpearmansCorrelation
public SpearmansCorrelation()
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); }