cutWithMinN {edgeR} | R Documentation

## Cut numeric vector into non-empty intervals

### Description

Discretizes a numeric vector. Divides the range of `x` into intervals, so that each interval contains a minimum number of values, and codes the values in `x` according to which interval they fall into.

### Usage

    cutWithMinN(x, intervals=2, min.n=1)

### Arguments

`x` | numeric vector.
`intervals` | number of intervals required.
`min.n` | minimum number of values in any interval. Must be less than or equal to `length(x)/intervals`.

### Details

This function strikes a compromise between the base functions `cut`, which by default cuts a vector into equal length intervals, and `quantile`, which is suited to finding equally populated intervals. It finds a partition of the `x` values that is as close as possible to equal length intervals while keeping at least `min.n` values in each interval.

Tied values of `x` are broken by random jittering, so the partition may vary slightly from run to run if there are many tied values.

### Value

A list with components:

`group` | integer vector of same length as `x` indicating which interval each value belongs to.
`breaks` | numeric vector of length `intervals+1` giving the left and right limits of each interval.

### Author(s)

Gordon Smyth

### See Also

`cut`, `quantile`.

### Examples

    x <- c(1,2,3,4,5,6,7,100)
    cutWithMinN(x,intervals=3,min.n=1)

[Package edgeR version 3.28.1 Index]