Hi Gabor
Thanks for the suggestion but I am not sure it actually addresses my problem. I will ponder the idea of my data needing to be in a different form but I am not sure how to get there easily with what I have got. The example I gave was just a simplified example to demonstrate how you cannot access the names of the list once it has been passed by lapply. My real world problem is data coming from 4 spreadsheets for thirteen volunteers and 250 variables with various models being calculated and values extracted from the models. lapply seems to be the way to do these repetitive processes on the data, volunteers etc but then I end up with a load of lists of lists. I guess I could extract the data from the lists into a more suitable format for plotting but as lapply has already done all the work it seems a lot of extra effort. I would like to be able to do one more lapply to plot the data (or whatever) and be able to slap a label on it so I can keep track of what I am doing. Regards John Seers -----Original Message----- From: Gabor Grothendieck [mailto:[EMAIL PROTECTED] Sent: 05 February 2008 16:17 To: john seers (IFR) Cc: R Help Subject: Re: [R] Using lapply and list names not available The problem is your data is in wide format and you want it in long format. See ?reshape and also see the reshape package. In your example, ?stack is sufficient: library(lattice) xyplot(values ~ seq_along(values) | ind, data = stack(people)) On Feb 5, 2008 11:05 AM, john seers (IFR) <[EMAIL PROTECTED]> wrote: > > Hello All > > Using lapply and ending up with lists of lists I often end up in the > position of not having the names of the list passed by lapply. So, if > I am doing something like a plot, and I would like the title to > reflect which plot it is, I cannot easily do it. So I find myself > doing some unstructured variable passing and counting to be able to > keep track of my data. Then I think perhaps I should not use lapply > and just use simple loops. > > Is there a better way to do this? > > Here is a simple example to illustrate what I am talking about. The > list has the names of people and I need the names to use as the > headings of the plots. > > > > ###################################################################### > ## > ######### > > # Make some test data > people<-list(Andrew=rnorm(10), Mary=rnorm(10), Jane=rnorm(10), > Richard=rnorm(10)) > > > # Function to plot each list entry with its title name > doplot<-function(individual, peoplenames) { > peoplecount<<-peoplecount + 1 > plot(individual, main=peoplenames[peoplecount]) } > > # > peoplecount<-0 > jpeg(file="test.jpg") > par(mfrow=c(2,2)) > lapply(people, doplot, names(people)) > dev.off() > > ###################################################################### > ## > ############# > > > Thank you for any suggestions. > > > John Seers > > --- > > ______________________________________________ > 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. > ______________________________________________ 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.