slice {refer}R Documentation

Create a Reference Slice to a Vector

Description

Create a reference to a 'part' of an R object. Use deref or `!` to obtain the values within the referenced object.

Usage

slice(x, ...)

Arguments

x

object to be referenced; must be a symbol or character

...

objects passed to x[...] when dereferenced

Details

slice is similar to ref; it creates a reference to another R object. There are two main differences with ref. First, slice only accepts names or characters instead of expressions. Second, slice records a part of the underlying object. slice(x, 1:2, 3) is equivalent to the reference of x[1:2, 3]. This is similar to ref(x[1:2, 3]), though the implementation is different. ref would create an expression with a reference to x, while slice(x, 1:2, 3) creates a list with a reference to x and the extract inputs. slice is more efficient, but is limited in its capabilities.

Value

object of class "slice" and "ref"

Examples

## Vector Slice
x <- 10:1

slice_x <- slice(x, 2:4)
identical(!slice_x, 9:7)   # TRUE

x <- x - 2
identical(!slice_x, 7:5)   # TRUE

## Matrix Slice
y <- matrix(1:9, nrow=3)
slice_y <- slice(y, 2, 3)

identical(!slice_y, y[2, 3])   # TRUE

[Package refer version 0.1.0 Index]