replace
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
replace_vector
or i
and j
parameters of replace_matrix
to facilitate
implementing the replacement mechanism for custom matrix-like types. Values
are recycled to match the replacement length.
Replace(replace_vector, replace_matrix)
A function in the form of function(x, i, value)
that replaces a vector subset of x
based on a single vector of indices i
with the values in value
and returns x
, invisibly.
A function in the form of function(x, i, j, value)
that replaces a matrix subset of x
based on two vectors of indices i
and
j
with the values in value
and returns x
, invisibly.
A function in the form of function(x, i, j, ..., value)
that is
meant to be used as a method for [<-
for a custom type.
The custom type must implement methods for dim
for this function
to work. Implementing methods for nrow
and ncol
is not necessary
as the default method of those generics calls dim
internally.
This idea initially comes from package crochet.