mlr3misc (version 0.1.0)

chunk_vector: Chunk Vectors

Description

Chunk atomic vectors into parts of roughly equal size. chunk() takes a vector length n and returns an integer with chunk numbers. chunk_vector() uses base::split() and chunk() to split an atomic vector into chunks.

Usage

chunk_vector(x, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE)

chunk(n, n_chunks = NULL, chunk_size = NULL, shuffle = TRUE)

Arguments

x

:: vector() Vector to split into chunks.

n_chunks

:: integer(1) Requested number of chunks. Mutually exclusive with chunk_size and props.

chunk_size

:: integer(1) Requested number of elements in each chunk. Mutually exclusive with n_chunks and props.

shuffle

:: logical(1) If TRUE, permutes the order of x before chunking.

n

:: integer(1) Length of vector to split.

Value

chunk() returns a integer() of chunk indices, chunk_vector() a list() of integer vectors.

Examples

# NOT RUN {
x = 1:11

ch = chunk(length(x), n_chunks = 2)
table(ch)
split(x, ch)

chunk_vector(x, n_chunks = 2)

chunk_vector(x, n_chunks = 3, shuffle = TRUE)
# }