[R] looping through data frames in a workspace

lucy b lucy.lists at gmail.com
Mon Mar 3 23:28:05 CET 2008


All,

I have a workspace containing only data frame objects. I would like to
loop though each one and clean-up text columns in them. How can I have
R loop through the list? I have tried to find an answer in R help but
the closest solution I can find is to make a static list of data
frames, as illustrated in this recent post:

---------begin post
On Tuesday 19 February 2008 (19:51:15), 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);
> }

It's surprisingly simple:

for(df in list(df1,df2,df3)) plot(df$x,df$y)

Best,

Martin
---------------------end post

I would like to avoid having to type-out a very long list over and
over again. I have tried every variation I could think of similar to:

for(df in list(noquote(ls()))) {

     do stuff with df

     }

I know this has to be possible. What am I missing?

Many Thanks-



More information about the R-help mailing list