R: Chunk elements of vectors into blocks of nearly equal size.

chunk {BBmisc} | R Documentation

## Chunk elements of vectors into blocks of nearly equal size.

### Description

In case of shuffling and vectors that cannot be chunked evenly, it is chosen randomly which levels / chunks will receive 1 element less. If you do not shuffle, always the last chunks will receive 1 element less.

### Usage

    chunk(x, chunk.size, n.chunks, props, shuffle = FALSE)

### Arguments

`x` | [ANY] Vector, list or other type supported by `split`.
`chunk.size` | [`integer(1)`] Requested number of elements in each chunk. Cannot be used in combination with `n.chunks` or `props`. If `x` cannot be evenly chunked, some chunks will have less elements.
`n.chunks` | [`integer(1)`] Requested number of chunks. If more chunks than elements in `x` are requested, empty chunks are dropped. Can not be used in combination with `chunks.size` or `props`.
`props` | [`numeric`] Vector of proportions for chunk sizes. Empty chunks may occur, depending on the length of `x` and the given proportions. Cannot be used in combination with `chunks.size` or `n.chunks`.
`shuffle` | [`logical(1)`] Shuffle `x`? Default is `FALSE`.

### Value

[unnamed `list`] of chunks.

### Examples

    xs = 1:10
    chunk(xs, chunk.size = 3)
    chunk(xs, n.chunks = 2)
    chunk(xs, n.chunks = 2, shuffle = TRUE)
    chunk(xs, props = c(7, 3))

[Package BBmisc version 1.11 Index]