Help with understanding [[]] [] array, list, matrix referencing
I want to thank everyone for their comments and suggestions. P. Burns' S Poetry I think will be a lot of help and I thought it was really poetry:). So will the other references that were provided by I believe Mr Kane. The other replies provided me some great insights. If I understand R uses the $ and [[]] like java uses the . (dot) notation for accessing components of classes and objects. If the java class or object being accessed by the . notation is specifically a list, container, vector, or array type you use the element operator which is the parenthesis in java but R uses []. This helps be visualize what I am trying to do if I am correct with my interpretation. Thank all of you so much. Joe
Thomas Lumley wrote:
On Tue, 24 Oct 2006, Joe W. Byers wrote:
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.
Yes, this can be confusing. One reason that it is confusing is that the rules appear to be different (though they aren't) for vectors and lists. The single bracket [ extracts a subvector, and the double bracket [[ extracts an element. That is, with a<-list(b=1,c=2,d=3) you can extracts the first element of a,
a[[1]]
[1] 1 or a sublist with the first two elements
a[1:2]
$b [1] 1 $c [1] 2 or a sublist with just the first element
a[1]
$b [1] 1 The same is true for numeric or character vectors, but there an element and a subvector of length one are the same, so the distinction between [[ and [ is harder to understand.
b<-1:10 b[1:2]
[1] 1 2
b[1]
[1] 1
b[[1]]
[1] 1 -thomas
______________________________________________ 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.