Great example Glen! I want to add simply a small thing that could be useful to someone.
Suppose in your last step you want to change the line color for each chart. Using a for loop it is simple to use the integer index to access the df.lst elements and set the color: for(i in 1:length(df.lst)) plot(df.lst[i]$x, df.lst[i]$y, color=colors[i]) To do it 'lapply-style' use mapply: mapply(function(d, i) plot(d$x, d$y, color=colors[i]), dl, 1:length(dl)) Ciao! mario Glen Sargeant wrote: > One way to plot subsets of data identified by a grouping variable is to use > lapply() on a list of subsets. The approach is worth mentioning because > similar tactics are useful for many problems. > > #List of unique values for grouping variable > #that is not necessarily a factor > names <- as.list(unique(df$Experiment)) > > #List of dataframes; 1 for each unique value of grouping variable > df.lst <- lapply(names,function(name)subset(df,Experiment==name)) > > #Name components of the list > #Not necessary in this case... but permits indexing by level > #of the grouping variable > names(df.lst) <- names > > #Now you can use lapply() to carry out the same operation on > #each component of your list. For example, to send plots to > #a pdf with 1 page for each component: > > pdf("plot.pdf") > lapply(df.lst,function(df)plot(df[,2],df[,3])) > dev.off() > > > > > ----- > Glen Sargeant > Research Wildlife Biologist -- Ing. Mario Valle Data Analysis and Visualization Group | http://www.cscs.ch/~mvalle Swiss National Supercomputing Centre (CSCS) | Tel: +41 (91) 610.82.60 v. Cantonale Galleria 2, 6928 Manno, Switzerland | Fax: +41 (91) 610.82.82 ______________________________________________ R-help@r-project.org mailing list 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.