[R] Using lapply and list names not available

john seers (IFR) john.seers at bbsrc.ac.uk
Tue Feb 5 17:05:05 CET 2008


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

---



More information about the R-help mailing list