vectorIndex2arrayIndex.rdmake array from index vector positions respecting dim and dimorder
vectorIndex2arrayIndex(x, dim = NULL, dimorder = NULL, vw = NULL)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 'vw[1,] + x + vw[2,]'.
an n by m matrix with n m-dimensional array indices
matrix(1:12, 3, 4)
#> [,1] [,2] [,3] [,4]
#> [1,] 1 4 7 10
#> [2,] 2 5 8 11
#> [3,] 3 6 9 12
vectorIndex2arrayIndex(1:12, dim=3:4)
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 1
#> [3,] 3 1
#> [4,] 1 2
#> [5,] 2 2
#> [6,] 3 2
#> [7,] 1 3
#> [8,] 2 3
#> [9,] 3 3
#> [10,] 1 4
#> [11,] 2 4
#> [12,] 3 4
vectorIndex2arrayIndex(1:12, dim=3:4, dimorder=2:1)
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 1 2
#> [3,] 1 3
#> [4,] 1 4
#> [5,] 2 1
#> [6,] 2 2
#> [7,] 2 3
#> [8,] 2 4
#> [9,] 3 1
#> [10,] 3 2
#> [11,] 3 3
#> [12,] 3 4
matrix(1:30, 5, 6)
#> [,1] [,2] [,3] [,4] [,5] [,6]
#> [1,] 1 6 11 16 21 26
#> [2,] 2 7 12 17 22 27
#> [3,] 3 8 13 18 23 28
#> [4,] 4 9 14 19 24 29
#> [5,] 5 10 15 20 25 30
vectorIndex2arrayIndex(c(6L, 7L, 8L, 11L, 12L, 13L, 16L, 17L, 18L, 21L, 22L, 23L)
, vw=rbind(c(0,1), c(3,4), c(2,1)))
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 1
#> [3,] 3 1
#> [4,] 1 2
#> [5,] 2 2
#> [6,] 3 2
#> [7,] 1 3
#> [8,] 2 3
#> [9,] 3 3
#> [10,] 1 4
#> [11,] 2 4
#> [12,] 3 4
vectorIndex2arrayIndex(c(2L, 8L, 14L, 3L, 9L, 15L, 4L, 10L, 16L, 5L, 11L, 17L)
, vw=rbind(c(0,1), c(3,4), c(2,1)), dimorder=2:1)
#> [,1] [,2]
#> [1,] 1 1
#> [2,] 2 1
#> [3,] 3 1
#> [4,] 1 2
#> [5,] 2 2
#> [6,] 3 2
#> [7,] 1 3
#> [8,] 2 3
#> [9,] 3 3
#> [10,] 1 4
#> [11,] 2 4
#> [12,] 3 4