[R] use of names() within lapply()
murdoch.duncan at gmail.com
Wed Apr 17 21:28:30 CEST 2013
On 17/04/2013 11:33 AM, Ivan Alves wrote:
> Dear Duncan and A.K.
> Many thanks for your super quick help. The modified lapply did the trick, mapply died with a error "Error in dots[[2L]][[1L]] : object of type 'builtin' is not subsettable".
That's due to a typo: I should have said
mapply(plot, g, main=names(g))
> Kind regards,
> On 17 Apr 2013, at 17:12, Duncan Murdoch <murdoch.duncan at gmail.com> wrote:
> > On 17/04/2013 11:04 AM, Ivan Alves wrote:
> >> Dear all,
> >> List g has 2 elements
> >> > names(g)
> >>  "2009-10-07" "2012-02-29"
> >> and the list plot
> >> lapply(g, plot, main=names(g))
> >> results in equal plot titles with both list names, whereas distinct titles names(g) and names(g) are sought. Clearly, lapply is passing 'g' in stead of consecutively passing g and then g to process the additional 'main' argument to plot. help(lapply) is mute as to what to element-wise pass parameters. Any suggestion would be appreciated.
> > I think you want mapply rather than lapply, or you could do lapply on a vector of indices. For example,
> > mapply(plot, g, main=names)
> > or
> > lapply(1:2, function(i) plot(g[[i]], main=names(g)[i]))
> > Duncan Murdoch
More information about the R-help