Skip to contents

Split an array along its n-th dimension. The implementation was found here: https://stackoverflow.com/questions/20198751/three-dimensional-array-to-list

Usage

splitAlongDim(a, n)

Arguments

a

an array

n

number of the dimension along which to split the array

Value

array of one dimension less than a

Examples

# Define an array
A <- array(1:8, dim = c(2, 2, 2), dimnames = list(
  paste0("x", 1:2), paste0("y", 1:2), paste0("z", 1:2)
))

splitAlongDim(A, 1)
#> $x1
#>    z1 z2
#> y1  1  5
#> y2  3  7
#> 
#> $x2
#>    z1 z2
#> y1  2  6
#> y2  4  8
#> 
splitAlongDim(A, 2)
#> $y1
#>    z1 z2
#> x1  1  5
#> x2  2  6
#> 
#> $y2
#>    z1 z2
#> x1  3  7
#> x2  4  8
#> 
splitAlongDim(A, 3)
#> $z1
#>    y1 y2
#> x1  1  3
#> x2  2  4
#> 
#> $z2
#>    y1 y2
#> x1  5  7
#> x2  6  8
#>