[R] generated list element names

William Dunlap wdunlap at tibco.com
Mon Nov 19 19:46:13 CET 2012


If you have a list and want to add a new (or replace a)
named component use
   myList[[compName]] <- compValue
as in
   myList <- list()
   compName <- "Incr"
   compValue <- function(x) x + 1
   myList[[compName]] <- compValue

If you want to make a new list-with-names from scratch try
   structure(list(1, "cat", function(x)x+1), names=c("One","Pet","Increment"))
(structure() is a general way to make an object and add attributes to
it in one statement.)

Bill Dunlap
Spotfire, TIBCO Software
wdunlap tibco.com


> -----Original Message-----
> From: r-help-bounces at r-project.org [mailto:r-help-bounces at r-project.org] On Behalf
> Of Sam Steingold
> Sent: Monday, November 19, 2012 10:07 AM
> To: r-help at r-project.org
> Subject: [R] generated list element names
> 
> How can I create lists with element names created on the fly?
> 
> --8<---------------cut here---------------start------------->8---
> > list (foo = 10)
> $foo
> [1] 10
> 
> > list ("foo" = 10)
> $foo
> [1] 10
> 
> > list (paste("f","oo",sep="") = 10)
> Error: unexpected '=' in "list (paste("f","oo",sep="") ="
> --8<---------------cut here---------------end--------------->8---
> 
> I understand that tags in list() are not evaluated, but is there a more
> elegant way than
> 
> --8<---------------cut here---------------start------------->8---
> > z <- list(10)
> > names(z) <- paste("f","oo",sep="")
> > z
> $foo
> [1] 10
> --8<---------------cut here---------------end--------------->8---
> 
> thanks!
> 
> --
> Sam Steingold (http://sds.podval.org/) on Ubuntu 12.04 (precise) X 11.0.11103000
> http://www.childpsy.net/ http://www.memritv.org
> http://thereligionofpeace.com http://truepeace.org
> Unix roulette: `dd if=/dev/urandom of=/dev/kmem bs=1 count=1 seek=$RANDOM`
> 
> ______________________________________________
> R-help at 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.




More information about the R-help mailing list