[R] Looping through a list of objects & do something...

Duncan Murdoch murdoch at stats.uwo.ca
Tue Feb 19 20:08:16 CET 2008


On 2/19/2008 1:51 PM, TLowe wrote:
> Hey Folks,
> 
> Could somebody show me how to loop through a list of dataframes?  I want to
> be able to generically access their elements and do something with them.
> 
> For instance, instead of this:
> 
> df1<- data.frame(x=(1:5),y=(1:5));
> df2<- data.frame(x=(1:5),y=(1:5));
> df3<- data.frame(x=(1:5),y=(1:5));
> plot(df1$x,df1$y);
> plot(df2$x,df2$y);
> plot(df3$x,df3$y);
> 
> I would like to do something like:
> (pseudocode)
> dfarray[1] = df1
> dfarray[2] = df2
> dfarray[3] = df3
> for (each i in dfarray) {
>   plot(i$x, i$y);
> }
> 
> Can this be done in R?

Yes, easily:

dfarray <- list(df1, df2, df3)
lapply(dfarray, function(i) plot(i$x, i$y))

Duncan Murdoch



More information about the R-help mailing list