From: David Barron <mothsailor_at_googlemail.com>

Date: Tue 24 Oct 2006 - 11:57:45 GMT

Date: Tue 24 Oct 2006 - 11:57:45 GMT

Well, as I understand it, with a list [] doesn't return the actual contents of that element of the list, whereas [[]] does. Compare, for example rnds[1] + 1 with rnds[[1]] + 1. So, with a list you have to use the double bracket notation to get to the actual contents of that element of the list, as opposed to a pointer to the element. With a vector or a matrix, [[]] doesn't seem to have much use, though you can use it with a single number, in which case you will get the same result as [].

On 24/10/06, Joe Byers <joe-byers@utulsa.edu> wrote:

> 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@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@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.
**> >>
**> >
**> >
**>
**>
**>
*

-- ================================= David Barron Said Business School University of Oxford Park End Street Oxford OX1 1HP ______________________________________________ R-help@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.Received on Tue Oct 24 22:03:22 2006

Archive maintained by Robert King, hosted by
the discipline of
statistics at the
University of Newcastle,
Australia.

Archive generated by hypermail 2.1.8, at Tue 24 Oct 2006 - 23:30:13 GMT.

*
Mailing list information is available at https://stat.ethz.ch/mailman/listinfo/r-help.
Please read the posting
guide before posting to the list.
*