R.utils (version 1.5.7)

arrayIndex: Converts vector indices to array indices

Description

Converts vector indices to array indices assuming last array dimension to "move fastest", e.g. matrices are stored column by column.

Usage

## S3 method for class 'default':
arrayIndex(i, dim, ...)

Arguments

i
A vector of vector indices to be converted to array indices.
dim
A non-empty numeric vector specifying the dimension of the array.
...
Not used.

Value

  • Returns an integer matrix of length(i) rows and length(dim) columns.

References

[1] H. Bengtsson, Bayesian Networks - a self-contained introduction with implementation remarks, Master's Thesis in Computer Science, Mathematical Statistics, Lund Institute of Technology, 1999.

See Also

From R v2.11.0 there is arrayInd(), which does the same thing as this method. which() with argument arr.ind=TRUE.

Examples

Run this code
# Single index
print(arrayIndex(21, dim=c(4,3,3)))

# Multiple indices
print(arrayIndex(20:23, dim=c(4,3,3)))

# Whole array
x <- array(1:30, dim=c(5,6))
print(arrayIndex(1:length(x), dim=dim(x)))

# Find (row,column) of maximum value
m <- diag(4-abs(-4:4))
print(arrayIndex(which.max(m), dim=dim(m)))

Run the code above in your browser using DataCamp Workspace