[R] Subsetting an array by a vector of dimensions

Patrick Burns pburns at pburns.seanet.com
Fri Jul 11 17:51:44 CEST 2008


I think you are looking for subscripting with a
matrix:

x[cbind(1,1,2)]

See, for instance, the subscripting section of chapter 1
of S Poetry.


Patrick Burns
patrick at burns-stat.com
+44 (0)20 8525 0696
http://www.burns-stat.com
(home of S Poetry and "A Guide for the Unwilling S User")

Richard Pearson wrote:
> Hi
>
> Is it possible to subset an n-dimensional array by a vector of n 
> dimensions? E.g. assume I have
>
>> x <- array(1:24, dim=2:4)
>> x[1,1,2]
> [1] 7
>> dims <- c(1,1,2)
>
> I would like a function that I can supply x and dims as parameters to, 
> and have it return 7. Also, I would like to do something like:
>
>> x[1,1,]
> [1]  1  7 13 19
>> dims2<- c(1,1,NA)
>
> And have a function of x and dims2 that gives me back [1]  1  7 13 19
>
> Does such a thing exist?
>
> Thanks
>
> Richard
>
>



More information about the R-help mailing list