templat<typename T, typename I = unsigned long>
struct ModeVisitor;
|
This is a “single action visitor”, meaning it is passed the whole data vector in one call and you must use the single_action_visit() interface.
This functor class finds the N highest mode (N most repeated values) of the given column.
The result is an array of N items each of this type:
struct DataItem {
// Value of the column item
value_type value;
// List of indices where value occurred
std::vector indices;
// Number of times value occurred
inline size_type repeat_count() const { return (indices.size()); }
// List of column indices where value occurred
std::vector value_indices_in_col;
};
|
N: Number of modes to find
T: Column data type
I: Index type
|