arrayIndex2vectorIndex {ff} | R Documentation |
Make vector positions from a (non-symmetric) array index respecting dim and dimorder
arrayIndex2vectorIndex(x, dim = NULL, dimorder = NULL, vw = NULL)
x |
an n by m matrix with n m-dimensional array indices |
dim |
NULL or |
dimorder |
NULL or |
vw |
NULL or integer vector[3] or integer matrix[3,m], see details |
The fastest rotating dimension is dim[dimorder[1]], then dim[dimorder[2]], and so forth.
The parameters 'x' and 'dim' may refer to a subarray of a larger array, in this case, the array indices 'x' are interpreted as 'vw[1,] + x' within the larger array 'as.integer(colSums(vw))'.
a vector of indices in 1:prod(dim)
(or 1:prod(colSums(vw))
)
Jens Oehlschlägel
array2vector
, vectorIndex2arrayIndex
x <- matrix(1:12, 3, 4) x arrayIndex2vectorIndex(cbind(as.vector(row(x)), as.vector(col(x))) , dim=dim(x)) arrayIndex2vectorIndex(cbind(as.vector(row(x)), as.vector(col(x))) , dim=dim(x), dimorder=2:1) matrix(1:30, 5, 6) arrayIndex2vectorIndex(cbind(as.vector(row(x)), as.vector(col(x))) , vw=rbind(c(0,1), c(3,4), c(2,1))) arrayIndex2vectorIndex(cbind(as.vector(row(x)), as.vector(col(x))) , vw=rbind(c(0,1), c(3,4), c(2,1)), dimorder=2:1)