[R] generated list element names

David Winsemius dwinsemius at comcast.net
Mon Nov 19 20:32:23 CET 2012


On Nov 19, 2012, at 10:46 AM, William Dunlap wrote:

> 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.)

I'm guessing that Sam wanted to see:

myList <- list()
myList[[ paste0("fo", "o") ]] <- 10

 > myList
$foo
[1] 10

Or:

structure(list(10), names=paste0("fo", "o") )
$foo
[1] 10

(At least that's my guess from the context of the question.)



> 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.
>
> ______________________________________________
> 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.

David Winsemius, MD
Alameda, CA, USA




More information about the R-help mailing list