bucket

Syntax bucket(vector, dataRange, bucketNum, [includeOutbound=false])

Arguments

vector a numeric or temporal vector.

dataRange a pair indicating the data range, which includes the lower bound and excludes the upper bound.

bucketNum the number of buckets. The number of elements of the input vector that belong to dataRange must be a multiple of bucketNum.

includeOutbound an optional boolean value indicating whether to include the bucket below the lower bound of the data range and the bucket beyond the upper bound of the data range. The default value is false.

Details

Return a vector with the same length as the input vector. Each element of the result indicates which bucket each of the elements of the input vector belongs to, based on the bucket classification rules given by dataRange and bucketNum.

For example, if dataRange is 0:10, bucketNum is 2, and includeOutbound is unspecified, we have two buckets: [0, 5) and [5,10). Any value <0 or >=10 will be coded as null integer. If includeOutbound is set to be true, the example above will generate 4 buckets: <0, [0, 5), [5,10), >=10.

Examples

$ bucket(9 23 54 36 46 12, 12:54, 2);
[,0,,1,1,0]

$ bucket(9 23 54 36 46 12, 12:54, 2, 1);
[0,1,3,2,2,1]