*
* Created on June 26, 2012, 11:06 AM
*/
+
#include "kruskalwalliscommand.h"
//**********************************************************************************************************************
void KruskalWallisCommand::assignRank(vector<groupRank> &vec) {
try {
double rank = 1;
- double numRanks, avgRank;
+ double numRanks, avgRank, j;
vector<groupRank>::iterator it, oldit;
sort (vec.begin(), vec.end(), comparevalue);
while ( it != vec.end() ) {
j = rank;
oldit = it;
- if (!equalvalue(*it, *it+1)) { *it->rank = rank; rank++; it++; }
+ if (!equalvalue(*it, *(it+1))) {
+ (*it).rank = rank;
+ rank = rank+1;
+ it++; }
else {
- while(equalrank(*it, *it+1)) {
- j = j + (j+1.0);
+ while(equalrank(*it, *(it+1))) {
+ j = j + (j+1);
rank++;
it++;
}
numRanks = double (distance(oldit, it));
avgRank = j / numRanks;
while(oldit != it) {
- *oldit->rank = avgRank;
+ (*oldit).rank = avgRank;
oldit++;
}
}
}
+
}
catch(exception& e) {