[R] General indexing in multidimensional arrays

Jannis bt_jannis at yahoo.de
Wed Aug 3 23:00:13 CEST 2011


Thanks for all the replies!Unfortunately the solutions only work for 
extracting subsets of the data (which was exactly what I was asking for) 
and not to replace subsets with other values. I used them, however, to 
program a rather akward function to do that. Seems I found one of the 
few aspects where Matlab actually is slightly easier to use than R.


Thanks for your help!
Jannis

On 08/01/2011 05:50 PM, Gene Leynes wrote:
> What do you think about this?
>
> apply(data, 3, '[', indices)
>
>
> On Mon, Aug 1, 2011 at 4:38 AM, Jannis<bt_jannis at yahoo.de>  wrote:
>
>> Dear R community,
>>
>>
>> I have a general question regarding indexing in multidiemensional arrays.
>>
>> Imagine I have a three dimensional array and I only want to extract on
>> vector along a single dimension from it:
>>
>>
>> data<- array(rnorm(64),dim=c(4,4,4))
>>
>> result<- data[1,1,]
>>
>> If I want to extract more than one of these vectors, it would now really
>> help me to supply a logical matrix of the size of the first two dimensions:
>>
>>
>> indices<- matrix(FALSE,ncol=4,nrow=4)
>> indices[1,3]<- TRUE
>> indices[4,1]<- TRUE
>>
>> result<- data[indices,]
>>
>> This, however would give me an error. I am used to this kind of indexing
>> from Matlab and was wonderingt whether there exists an easy way to do this
>> in R without supplying complicated index matrices of all three dimensions or
>> logical vectors of the size of the whole matrix?
>>
>> The only way I could imagine would be to:
>>
>> result<- data[rep(as.vector(indices),**times=4)]
>>
>> but this seems rather complicated and also depends on the order of the
>> dimensions I want to extract.
>>
>>
>> I do not want R to copy Matlabs behaviour, I am just wondering whether I
>> missed one concept of indexing in R?
>>
>>
>>
>> Thanks a lot
>> Jannis
>>
>> ______________________________**________________
>> R-help at r-project.org mailing list
>> https://stat.ethz.ch/mailman/**listinfo/r-help<https://stat.ethz.ch/mailman/listinfo/r-help>
>> PLEASE do read the posting guide http://www.R-project.org/**
>> posting-guide.html<http://www.R-project.org/posting-guide.html>
>> and provide commented, minimal, self-contained, reproducible code.
>>



More information about the R-help mailing list