Thanks Gabor,
this is what I was looking for.
Mark

Am 01.01.2010 um 16:05 schrieb Gabor Grothendieck:

> Try this:
>
> # same args as lapply.  FUN must return named components.
> lapplyWithRename <- function(...) {
> 	x <- lapply(...)
> 	names(x) <- sapply(x, names)
> 	lapply(x, function(x) { names(x) <- NULL; x })
> }
>
> # test function - if x is "A" then f returns c("Name A" = "A")
> f <- function(x) structure(x, .Names = paste("Name", x))
>
> L <- list(a="A", b="B")
> lapplyWithRename(L, f)
>
> Output looks like this:
>> lapplyWithRename(L, f)
> $`Name A`
> [1] "A"
>
> $`Name B`
> [1] "B"
>
>
> On Fri, Jan 1, 2010 at 8:21 AM, Mark Heckmann <mark.heckmann@gmx.de>  
> 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?
>> TIA
>>
>> –––––––––––––––––––––––––––––––––––––––
>> Mark Heckmann
>> Dipl. Wirt.-Ing. cand. Psych.
>> Vorstraße 93 B01
>> 28359 Bremen
>> Blog: www.markheckmann.de
>> R-Blog: http://ryouready.wordpress.com
>>
>> ______________________________________________
>> 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.
>>

–––––––––––––––––––––––––––––––––––––––
Mark Heckmann
Dipl. Wirt.-Ing. cand. Psych.
Vorstraße 93 B01
28359 Bremen
Blog: www.markheckmann.de
R-Blog: http://ryouready.wordpress.com





	[[alternative HTML version deleted]]

