Learn R Programming

rje (version 1.4)

indexBox: Get indices of adjacent entries in array

Description

Determines the relative vector positions of entries which are adjacent in an array.

Usage

indexBox(upp, lwr, dim)

Arguments

upp
A vector of non-negative integers, giving the distance in the positive direction from the centre in each co-ordinate.
lwr
A vector of non-positive integers, giving the negative distance from the centre.
dim
integer vector of array dimensions.

Value

  • An integer vector giving relative positions of the indices.

Details

Given a particular cell in an array, which are the entries within (for example) 1 unit in any direction? This function gives the (relative) value of such indices. See examples.

See Also

arrayInd.

Examples

Run this code
arr = array(1:144, dim=c(3,4,3,4))
arr[2,2,2,3]
# which are entries within 1 unit each each direction of 2,2,2,3?

inds = 89 + indexBox(1,-1,c(3,4,3,4))
inds = inds[inds > 0 & inds <= 144]
arrayInd(inds, c(3,4,3,4))

# what about just in second dimension?
inds = 89 + indexBox(c(0,1,0,0),c(0,-1,0,0),c(3,4,3,4))
inds = inds[inds > 0 & inds <= 144]
arrayInd(inds, c(3,4,3,4))

Run the code above in your browser using DataLab