extract
is a function that converts different index types such as negative
integer vectors or logical vectors passed to the [
function as i
(e.g. X[i]
) or i
and j
(e.g. X[i, j]
) into positive
integer vectors. The converted indices are provided as the i
parameter of
extract_vector
or i
and j
parameters of extract_matrix
to facilitate
implementing the extraction mechanism for custom matrix-like types.
Extract(extract_vector, extract_matrix)
A function in the form of function(x, i, j, ..., drop = TRUE)
that
is meant to be used as a method for [
for a custom type.
A function in the form of function(x, i)
that takes
a subset of x
based on a single vector of indices i
and returns a vector.
A function in the form of function(x, i, j)
that
takes a subset of x
based on two vectors of indices i
and j
and returns
a matrix.
This idea initially comes from package crochet.