[R] Help with understanding [[]] [] array, list, matrix referencing

Joe Byers joe-byers at utulsa.edu
Tue Oct 24 13:31:46 CEST 2006


David,

Yes, I did.  I just still do not get it.  That is why I ask here.  
Hoping someone knew a step by step guide that I could look at.  My trial 
and error approach takes me hours some days.  I currently move most 
things in and out of data.frames where I can name the columns and 
reference with the $ and a subsetting function, but that is not always 
efficient.  If I could understand the [ referencing better, my code 
would be more efficient and I think faster.  Part of my problem is my 
SAS background where everything is a flat table and coding is really 
sloppy.  A data step with a bunch of if-then-else to perform the 
calculation where as in matrix format like in R you do things more 
compactly.  Not always easy to read but efficient and fast.

I appreciate you help.

Thank you
Joe




David Barron wrote:
> Have you tried help("["), which gives a good explanation.
>
>
> On 24/10/06, Joe W. Byers <Joe-Byers at utulsa.edu> wrote:
>> Hi all,
>>
>> I would greatly appreciate some help understanding how R references
>> arrays, matrices, lists, and objects using [[]] and [].  I have read the
>> R guides and several tutorials but I am not the fastest kid on the block
>> so I am still having difficulty understanding this.  For examples the
>> following code produces a 5 element list of 2X5 random numbers that I
>> then convert to a 2X5X5 matrix.
>> cov<-matrix(c(.4,-.1,-.1,.3),nrow=2,ncol=2)
>> rnds<-NULL;
>> for (i in 1:5){
>>         t1<-rnorm(5,cov)
>>         t2<-rnorm(5,cov)
>>         t3<-rbind(t1,t2)
>>         rnds[i]<-list(t3)
>> }
>>
>> rnds.matrix<-array(unlist(rnds),dim=c(2,5,5));
>>
>> To access the matrix rnds.matrix I use rnds.matrix[x,y,z].  This I
>> understand.
>>
>> To access the list I user [[z]][x,y].  This I do not understand.  I
>> found by chance this reference notation in an old mailing list that
>> helped me.
>>
>> I could use some help in knowing when to use [[]] referencing and when
>> to use [] referencing.  If there is a really good book, webpage, or link
>> with explanation and examples I would appreciate you forwarding the the
>> citation.
>>
>> Thank you
>> Joe
>>
>> ______________________________________________
>> R-help at stat.math.ethz.ch 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