[R] changing a list element's name during execution in lapply - possible?

David Winsemius dwinsemius at comcast.net
Fri Jan 1 14:58:11 CET 2010


On Jan 1, 2010, at 8:21 AM, Mark Heckmann wrote:

> Happy New Year, all!
>
> I want to do calculations on each element of a list l, but i want  
> the returned list element to be named differently after the  
> calculation.
> Is it possible to do the renaming somehow within the lapply call?
>
> 	l <- list(a=NA, b=NA)
> 	lapply(l, function(x) {names(x) <- "new name";  return(x) })
>
> This does not work, any ideas?

It did "work" in the sense that it created a list of the same  
structure with each node now named "new name". If you want that named  
list to become "l", then you need to do an assignment:

l <- lapply(l, function(x) {names(x) <- "new name";  return(x) })
 > l
$a
new name
       NA

$b
new name
       NA



-- 
David.

> TIA
>
> –––––––––––––––––––––––––––––––––––––––
> Mark Heckmann
> Dipl. Wirt.-Ing. cand. Psych.
> Vorstraße 93 B01



More information about the R-help mailing list