ocmath_2d_binning_stats
Description
Compute descriptive statistics for 2D binning on two arrays pX and pY.
Syntax
int ocmath_2d_binning_stats(int nSize, const double *pX, const double *pY, BinningStatsResult* pResult, int nStats, BinningOption* pOptionX = NULL, BinningOption* pOptionY = NULL)
Parameters
- nSize
- [input]size of the X and Y array
- pX
- [input]pointer to buffer of the X array data
- pY
- [input]pointer to buffer of the Y array data
- pResult
- [output]pointer to result structure
- nStats
- [input]One of the following:
enum{
OCMATH_2D_BINNING_MIN,
OCMATH_2D_BINNING_MAX,
OCMATH_2D_BINNING_MEAN,
OCMATH_2D_BINNING_SUM,
OCMATH_2D_BINNING_MEDIAN,
OCMATH_2D_BINNING_PERCENTAGES,
};
- pOptionX
- [input]pointer to the structure of BinningOption for X array. If it is NULL(default), the optional parameters are given by the function.
- pOptionY
- [input]pointer to the structure of BinningOption for Y array. If it is NULL(default), the optional parameters are given by the function.
typedef struct
{
double dMin; // the minimum of the range
double dMax; // the maximum of the range
double dInc; // the bin increment of the range
int wIncludeOutliers; // flag indicating whether or not to include outliers in first and last bins, values are defined in enum FrequncyAccounOutBin, default value is FAB_NOT_INCLUDE_OUTLIERS
double dPeriod; //period for the data
int wIncludeMinMax; // reuse flag in wIncludeOutliers, left for Min, right for Max
int nMode; // BIN_MODE_INC, BIN_MODE_VALS
double* pdVals; // Double Array for BIN_MODE_VALS, for example, fill with 3 7 12 20, min=0, max=30, then the bins should be 0-3, 3-7, 7-12, 12-20, 20-30, >=30
int nValsSize;// The size of pdVals
}BinningOption;
Return
Returns 0 on success. Otherwise returns error code:
-1: Empty pointer or invalid value for nStats.
BINNING_ERR_SIZE: nSize less than 1
BINNING_ERR_RANGE: range is invalid(dMin > dMax)
BINNING_ERR_INC: dInc <= 0 or dInc > dMax - dMin
BINNING_ERR_FLAG: wIncludeOutliers is not defined in the enum
BINNING_ERR_PERIOD: error period.
BINNING_ERR_BUFFER_TOO_SMALL: size of pResult->pMatrix is less than needed
Examples
Remark
This function does not output frequency count, it calculates multiple statistics quantities on each bin according to input variable nStats, for example, minimum, maximum, median etc.
See Also
ocmath_2d_binning
header to Include
origin.h
Reference
|