BrianHenryIE / VeinToBrain

ucdlabsanalytics.wordpress.com
0 stars 0 forks source link

Overall mean and median #85

Open danieleiannarelli opened 10 years ago

danieleiannarelli commented 10 years ago
danieleiannarelli commented 10 years ago

MEAN (in AnalyteMeanView) public static double getOverallMean(String analyte, List analyteStats) { double sum = 0.0; int count = 0; for (int i = 0; i < analyteStats.size(); i++) { if (analyteStats.get(i).getAnalyteType().equals(analyte)) { for (int j = 0; j < analyteStats.get(i).getNumericReadings().size(); j++) { count++; sum += analyteStats.get(i).getNumericReadings().get(j); } } } return (sum / count); }

danieleiannarelli commented 10 years ago

MEDIAN (in AnalyteMedianView) public static double getOverallMedian(String analyte, List analyteStats) {

    List<Double> sortedArray = new ArrayList<Double>();

    for (int i = 0; i < analyteStats.size(); i++) {
        if (analyteStats.get(i).getAnalyteType().equals(analyte)) {
            for (int j = 0; j < analyteStats.get(i).getNumericReadings().size(); j++) {
                sortedArray.add(analyteStats.get(i).getNumericReadings().get(j));
            }
        }
    }

    Collections.sort(sortedArray);
    GWT.log("last number=" + sortedArray.get(sortedArray.size() - 1));
    int middle = sortedArray.size() / 2;
    if (sortedArray.size() % 2 == 1) {
        return sortedArray.get(middle);
    } else {
        return (sortedArray.get(middle - 1) + sortedArray.get(middle) / 2.0);
    }
}