Sort(int, double, ref SortedList)- sets up an index table given the data, such that data[index[]] is in increasing order
GetRank (int,double,ref double) - Calculate the ranks of the elements in the array data. Tow elements with the same value get the same rank, equal to the average of the rank had the elements different values.
GenerateAgreement (DoubleProgress, DataSet, DataGrouping, string, string) - generate agreement with no group, within group, or cross group
GenerateCorrelation (DoubleProgress, DataSet, DataGrouping, string, string) - generate correlation with no group, within group, or cross group
GenerateCorrelation_NoGp(DoubleProgress, DataSet, ArrayList, string,string) - generate correlation with selected columns
TODO:
test some 300-500 by 1500-5000 data sets, to get timing
add progress bar if it's not time consumptive, otherwise, add threading
add ICC
Remarks
The struct may change slightly once add into interface.
May need to examine the relationship between QualityControl and DataSet, DataGrouping. Is HasA necessary, or would UsesA work better (like Score).
If the QualityControl class doesn't contain any new data, maybe it should be a module of functions - it's been changed
Some discussion on the ouput needs to be included. Specifically, there needs to be some support for writing output files. - eventually, all files will go to a QC folder
how the data grouping is used - data grouping is used for agreement/correlation/icc generation, these results may be based on whole data set (no group), or wihin a grouping, or corss all groups