Weighted (ranked) quantiles

weighted_ntile(vector, weights = rep(1, times = length(vector)), n)

Arguments

vector

The vector for which quantiles are desired.

weights

The weights associated with the vector. None should be NA or zero.

n

The number of quantiles desired.

Value

A vector of integers corresponding to the ntiles. (As in dplyr::ntile.)

Details

With a short-length vector, or with weights of a high variance, the results may be unexpected.

Examples

weighted_ntile(1:10, n = 5)
#> [1] 1 1 2 2 3 3 4 4 5 5
weighted_ntile(1:10, weights = c(rep(4, 5), rep(1, 5)), n = 5)
#> [1] 1 1 2 3 4 5 5 5 5 5