[R] Slicing an array
Charles C. Berry
cberry at tajo.ucsd.edu
Fri Jun 12 17:16:54 CEST 2009
Jim,
Is
do.call( '[', list( array4d,TRUE,TRUE,TRUE,1 ) )
what you want?
HTH,
Chuck
On Fri, 12 Jun 2009, Jim Lemon 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.
>
Charles C. Berry (858) 534-2098
Dept of Family/Preventive Medicine
E mailto:cberry at tajo.ucsd.edu UC San Diego
http://famprevmed.ucsd.edu/faculty/cberry/ La Jolla, San Diego 92093-0901
More information about the R-help
mailing list