[R] using a list to index elements of a list
Pj253
pj253 at cam.ac.uk
Tue Mar 23 16:36:42 CET 2010
Thanks for your reply Ben!
I don't think I want v to be identical to x... I guess I haven't put the
question in the right context. What I'm actually trying to do is... (*
indicates extra information, not necessarily relevant for my question, but
to help put it in context)
A, some matrix (*a traceless, symmetric matrix of 0's, 1's (representing a
graph)*)
x<-list()
x[[1]]<-1:nrow(A)
for (i in x[[1]]){
if (A[1,i]==1) {
x[[2]]<-x[[1]][!(x[[1]]==1)]
for (j in x[[2]]){
if (A[i,j]==1){
path<-c(1,i,j)
print(path)
}
}
}
}
So, here I have used i and j to range over the elements of x[[1]], x[[2]]
respectively.
(*This prints all the paths of length 2 starting at vertex 1. But I'm trying
to generalise this for a path of length nrow(A), i.e. a Hamiltonian path)*)
I want to iterate this process a certain number of times, so instead of i,j
I thought to use a list of scalars, v.
I don't want v to be identical to x... I want v to be a list of scalars
which range (inside a for loop) over an elements of the list x. (so instead
of for (i in x[[k]]) I have for (v[[k]] in x[[k]])).
I can see how they look similar, but I do think they're different objects.
Hope this is clear. If you still think using 'x' itself would work, can you
explain how so?
--
View this message in context: http://n4.nabble.com/using-a-list-to-index-elements-of-a-list-tp1679184p1679253.html
Sent from the R help mailing list archive at Nabble.com.
More information about the R-help
mailing list