View source: R/subscript-loc.R
vec_as_location | R Documentation |
These helpers provide a means of standardizing common indexing methods such as integer, character or logical indexing.
vec_as_location()
accepts integer, character, or logical vectors
of any size. The output is always an integer vector that is
suitable for subsetting with [
or vec_slice()
. It might be a
different size than the input because negative selections are
transformed to positive ones and logical vectors are transformed
to a vector of indices for the TRUE
locations.
vec_as_location2()
accepts a single number or string. It returns
a single location as a integer vector of size 1. This is suitable
for extracting with [[
.
num_as_location()
and num_as_location2()
are specialized variants
that have extra options for numeric indices.
vec_as_location(
i,
n,
names = NULL,
...,
missing = c("propagate", "remove", "error"),
arg = caller_arg(i),
call = caller_env()
)
num_as_location(
i,
n,
...,
missing = c("propagate", "remove", "error"),
negative = c("invert", "error", "ignore"),
oob = c("error", "remove", "extend"),
zero = c("remove", "error", "ignore"),
arg = caller_arg(i),
call = caller_env()
)
vec_as_location2(
i,
n,
names = NULL,
...,
missing = c("error", "propagate"),
arg = caller_arg(i),
call = caller_env()
)
num_as_location2(
i,
n,
...,
negative = c("error", "ignore"),
missing = c("error", "propagate"),
arg = caller_arg(i),
call = caller_env()
)
i |
An integer, character or logical vector specifying the
locations or names of the observations to get/set. Specify
|
n |
A single integer representing the total size of the
object that |
names |
If |
... |
These dots are for future extensions and must be empty. |
missing |
How should missing
By default, vector subscripts propagate missing values but scalar subscripts error on them. Propagated missing values can't be combined with negative indices when
|
arg |
The argument name to be displayed in error messages. |
call |
The execution environment of a currently
running function, e.g. |
negative |
How should negative
|
oob |
How should out-of-bounds
|
zero |
How should zero
|
vec_as_location()
and num_as_location()
return an integer vector that
can be used as an index in a subsetting operation.
vec_as_location2()
and num_as_location2()
return an integer of size 1
that can be used a scalar index for extracting an element.
x <- array(1:6, c(2, 3))
dimnames(x) <- list(c("r1", "r2"), c("c1", "c2", "c3"))
# The most common use case validates row indices
vec_as_location(1, vec_size(x))
# Negative indices can be used to index from the back
vec_as_location(-1, vec_size(x))
# Character vectors can be used if `names` are provided
vec_as_location("r2", vec_size(x), rownames(x))
# You can also construct an index for dimensions other than the first
vec_as_location(c("c2", "c1"), ncol(x), colnames(x))
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.