Compute the frequency count of elements in a vector.
int FrequencyCount( double dMin, double dMax, double dInc, vector<int> & vCounts, int wIncludeOutliers = FAB_NOT_INCLUDE_OUTLIERS )
0, success
1, dInc is zero
2, dInc is greater than (dMax - dMin)
EX1
void vectorbase_FrequencyCount_ex1() { // Declare a vector and fill with some data vector vecData = {1, 2, 1, 1, 2, 2, 2, 3, 3, 4, 5}; // Declare vector to hold frequency count vector<int> vecCount; // Get frequency count for vecData into vecCount // Note that bin end value is set to 6, which is larger // than the max value in vecData vecData.FrequencyCount(1, 6, 1, vecCount); for (int ii = 0; ii < vecCount.GetSize(); ii++) out_int("",vecCount[ii]); // Result: // vecCount = {3, 4, 2, 1, 1} }
EX2
void vectorbase_FrequencyCount_ex2() { // This function will create a new worksheet, add a column // with some random data, then compute frequency count and place // in adjacent columns. // Create a new worksheet Worksheet wks; wks.Create(); // Delete all existing columns while(wks.DeleteCol(0)); // Add a new column and fill with 100 random numbers int index; index = wks.AddCol("RndData"); Dataset dsData(wks, index); dsData.SetSize(100); for( int ii = 0; ii < 100; ii++ ) dsData[ii] = ran(); // Compute frequency count from 0 to 1 with binsize of 0.1 vector<int> vecFreqCount; double dBinBegin = 0.0; double dBinEnd = 1.0; double dBinSize = 0.1; int iRet = dsData.FrequencyCount(dBinBegin, dBinEnd, dBinSize, vecFreqCount); if(0 == iRet) { // Add column for bin center and set as type X and fill column index = wks.AddCol("BinCenter"); wks.Columns(index).SetType(OKDATAOBJ_DESIGNATION_X); int iNumBins = (dBinEnd - dBinBegin) / dBinSize; Dataset dsBinCenter( wks, index ); dsBinCenter.SetSize( iNumBins ); for( int ii = 0; ii < iNumBins; ii++ ) dsBinCenter[ii] = dBinBegin + (0.5 + ii) * dBinSize; // Add column for bin counts and fill column index = wks.AddCol("BinCounts"); Dataset dsBinCounts(wks, index); dsBinCounts = vecFreqCount; } else out_str("Failed to compute frequency count"); }
Compute the frequency count of elements in the vector, with specified bin starting value, bin end value, and bin size. Values that fall on the lower edge of a bin are included in that bin and values that fall on the upper edge of a bin are included in the next higher bin.
origin.h