Message-ID: <CAAxdm-7wTiTQaFcm6W9sVUEOx4mjQ4fWrPkE3VJXkyKH4-zjOQ@mail.gmail.com>
Date: 2012-11-19T18:14:05Z
From: jim holtman
Subject: generated list element names
In-Reply-To: <87y5hxeabe.fsf@gnu.org>
How about this (if you don't like writing two lines, encapsulate it in
a function):
> x <- list(10)
> names(x) <- paste('f', 'oo', sep = '')
> str(x)
List of 1
$ foo: num 10
>
On Mon, Nov 19, 2012 at 1:07 PM, Sam Steingold <sds at gnu.org> wrote:
> 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.
--
Jim Holtman
Data Munger Guru
What is the problem that you are trying to solve?
Tell me what you want to do, not how you want to do it.