[R] print dataframe names in loop

Jim Lemon drjimlemon at gmail.com
Fri May 15 14:20:15 CEST 2015


Hi Kai,
One way is to name the components of your list with the names of the
data frames:

df1<-data.frame(a=1:3)
df2<-data.frame(a=4:6)
df3<-data.frame(a=7:9)
dflist<-list(df1,df2,df3)
names(dflist)<-c("df1","df2","df3")
for(i in 1:length(dflist)) cat(names(dflist)[i],"\n")
df1
df2
df3

Jim


On Fri, May 15, 2015 at 10:05 PM, Kai Mx <govokai at gmail.com> wrote:
> Hi everybody,
>
> I just can't  figure this out:
>
> I have a loop trough several dataframes such as
>
> for (df in list(df1, df2, df3, ...)) {
> ..some functions with df..
> }
>
> now I want to print out the current dataframes name (ie the list items
> name) with the cat command before the actual functions to have better
> orientation in the output.
> However, I haven't been successful with different variations of deparse(),
> substitute(), (cat(substitute(df)) gives me 'df' for the whole loop).
>
> Could somebody please enlighten me?
>
> Thanks so much!
>
> Best,
>
> Kai
>
>         [[alternative HTML version deleted]]
>
> ______________________________________________
> R-help at r-project.org mailing list -- To UNSUBSCRIBE and more, see
> 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.



More information about the R-help mailing list