[R] Slicing an array

Gabor Grothendieck ggrothendieck at gmail.com
Fri Jun 12 16:41:36 CEST 2009


See the abind package.

On Fri, Jun 12, 2009 at 8:36 AM, Jim Lemon<jim at bitwrit.com.au> wrote:
> Hi all,
> I've been trying to work out how to slice an array of arbitrary dimension. I
> found a message showing how to stick two arrays together, but so far have
> been unable to transform that into what I need. Assume that I have a four
> dimensional array for example:
>
> array4d
> , , 1, 1
>
>    [,1] [,2]
> [1,]    3    6
> [2,]    1    1
>
> , , 2, 1
>
>    [,1] [,2]
> [1,]    4    7
> [2,]    8    7
>
> , , 1, 2
>
>    [,1] [,2]
> [1,]    7    8
> [2,]    8    7
>
> , , 2, 2
>
>    [,1] [,2]
> [1,]    7    5
> [2,]    9    9
>
> I want to slice the array from the rightmost dimension, getting in sequence:
>
> array4d[,,,1]
> array4d[,,,2]
>
> then slicing those 3D arrays, and so on. I'm pretty sure that this will
> involve a:
>
> do.call('[',...)
>
> construction, but I haven't been able to work out how to specify the list of
> arguments, in particular the index vector, to slice up the last dimension. I
> have tried constructing index vectors with NULLs which of course doesn't
> work because they just disappear. Any suggestions?
>
> Jim
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>




More information about the R-help mailing list