Hi all, Never really managed to build a for-loop with multiple running variables in an elegant way. Can anybody hint ? See below for an example of what I would like. EXAMPLE a<-c(1,2,3) b<-c("name1","name2","name3") for( number in a, name in b ) { print( number ) ##take a value print( name ) ##and have its name available from a second list } Does R support this natively ? thanks ! Piet (Univ. of Antwerp - Belgium)
On 2/6/06 5:53 AM, "Piet van Remortel" <piet.vanremortel at gmail.com> wrote:> Hi all, > > Never really managed to build a for-loop with multiple running > variables in an elegant way. > > Can anybody hint ? > > See below for an example of what I would like. > > EXAMPLE > a<-c(1,2,3) > b<-c("name1","name2","name3") > > for( number in a, name in b ) { > print( number ) ##take a value > print( name ) ##and have its name available from a second list > } > > Does R support this natively ?I'm not sure what language does support this construct natively? In any case, what about: for (j in a) { print(a[j]) print(b[j]) } You may be thinking of a "hash" structure. If you are, you could look at using lists. See the R-intro on using list data structures. Sean
If you want a one-to-one action between corresponding pairs of "a" and "b", then how about simply : for( i in 1:length(a) ){ print( number[i] ) print( name[i] ) } If you want the first element of "a" to work with all elements of "b", the second element of "a" to work with all elements of "b", ... then you may find functions such as outer, sapply, mapply helpful. Regards, Adai On Mon, 2006-02-06 at 11:53 +0100, Piet van Remortel wrote:> Hi all, > > Never really managed to build a for-loop with multiple running > variables in an elegant way. > > Can anybody hint ? > > See below for an example of what I would like. > > EXAMPLE > a<-c(1,2,3) > b<-c("name1","name2","name3") > > for( number in a, name in b ) { > print( number ) ##take a value > print( name ) ##and have its name available from a second list > } > > Does R support this natively ? > > thanks ! > > Piet > (Univ. of Antwerp - Belgium) > > ______________________________________________ > 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 >
Hi do you want this? for(i in a) {print(a[i]); print(b[i])} HTH Petr On 6 Feb 2006 at 11:53, Piet van Remortel wrote: To: r-help at stat.math.ethz.ch From: Piet van Remortel <piet.vanremortel at gmail.com> Date sent: Mon, 6 Feb 2006 11:53:33 +0100 Subject: [R] for-loop with multiple variables changing> Hi all, > > Never really managed to build a for-loop with multiple running > variables in an elegant way. > > Can anybody hint ? > > See below for an example of what I would like. > > EXAMPLE > a<-c(1,2,3) > b<-c("name1","name2","name3") > > for( number in a, name in b ) { > print( number ) ##take a value > print( name ) ##and have its name available from a second list > } > > Does R support this natively ? > > thanks ! > > Piet > (Univ. of Antwerp - Belgium) > > ______________________________________________ > 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.htmlPetr Pikal petr.pikal at precheza.cz