package org.geogebra.common.gui.view.probcalculator;
/**
* @author G. Sturr
*
*/
public class StatisticsCollection {
public double mean, mean2, sd, sd2, nullHyp, me, lower, upper, se, testStat,
P, df, level, n, n2, count, count2, total;
public String tail;
public boolean pooled;
public String[][] chiSquareData;
public int rows, columns;
public double[][] observed, expected, diff;
public double[] columnSum, rowSum;
/**
* Construct StatisticsCollection
*/
public StatisticsCollection() {
mean = Double.NaN;
mean2 = Double.NaN;
sd = Double.NaN;
sd2 = Double.NaN;
nullHyp = Double.NaN;
me = Double.NaN;
lower = Double.NaN;
upper = Double.NaN;
se = Double.NaN;
testStat = Double.NaN;
P = Double.NaN;
df = Double.NaN;
n = Double.NaN;
n2 = Double.NaN;
count = Double.NaN;
count2 = Double.NaN;
level = .95;
}
public void setChiSqData(int rows, int columns) {
this.rows = rows;
this.columns = columns;
chiSquareData = new String[rows + 2][columns + 2];
observed = new double[rows][columns];
expected = new double[rows][columns];
diff = new double[rows][columns];
columnSum = new double[columns];
rowSum = new double[rows];
}
public double getProportion() {
if (count > n) {
return Double.NaN;
}
return 1.0 * count / n;
}
public double getProportion2() {
if (count2 > n2) {
return Double.NaN;
}
return 1.0 * count2 / n2;
}
public void validate() {
if (sd < 0) {
sd = Double.NaN;
}
if (sd2 < 0) {
sd2 = Double.NaN;
}
if (n < 0) {
n = Double.NaN;
}
if (n2 < 0) {
n2 = Double.NaN;
}
if (!Double.isNaN(n)) {
n = Math.round(n);
}
if (!Double.isNaN(n2)) {
n2 = Math.round(n2);
}
if (level < 0 || level > 1) {
level = Double.NaN;
}
}
}