Skip to contents

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)
#> [[1]]
#> [1] 1 2 3
#> 
#> [[2]]
#> [1] 4 5 6
#> 
#> [[3]]
#> [1] 7 8
#> 
#> [[4]]
#> [1]  9 10
#> 
chunk(xs, n.chunks = 2)
#> [[1]]
#> [1] 1 2 3 4 5
#> 
#> [[2]]
#> [1]  6  7  8  9 10
#> 
chunk(xs, n.chunks = 2, shuffle = TRUE)
#> [[1]]
#> [1] 1 2 6 7 9
#> 
#> [[2]]
#> [1]  3  4  5  8 10
#> 
chunk(xs, props = c(7, 3))
#> [[1]]
#> [1] 1 2 3 4 5 6 7
#> 
#> [[2]]
#> [1]  8  9 10
#>