[R] creating named elements of lists on the fly

John Fox jfox at mcmaster.ca
Fri Oct 8 19:01:43 CEST 2004


Dear Ben,

Is this the kind of thing you had in mind?

> lst <- list()
> element <- "a"
> lst[[element]] <- 1:5
> element <- "b"
> lst[[element]] <- letters[1:5]
> lst
$a
[1] 1 2 3 4 5

$b
[1] "a" "b" "c" "d" "e"


I hope this helps,
 John 

> -----Original Message-----
> From: r-help-bounces at stat.math.ethz.ch 
> [mailto:r-help-bounces at stat.math.ethz.ch] On Behalf Of Ben Shapiro
> Sent: Friday, October 08, 2004 11:46 AM
> To: r-help at stat.math.ethz.ch
> Subject: [R] creating named elements of lists on the fly 
> 
> HI Folks,
> 
> I'm trying to create a list with named elements. Only, I 
> don't know the names of the elements a priori (they come from 
> the data being calculated). Currently, my approach is to 
> create an environment, then assign things to the 
> environement, then as.list the environment to get a list. 
> 
> Running the code gives, for example:
> > e2 <- new.env(FALSE, NULL)
> > assign("dude", 123, env=e2)
> > assign("chick", 456, env=e2)
> > as.list(e2)
> Error in as.vector(x, "list") : cannot coerce to vector
> 
> Is this the best way to make a list like this? 
> 
> Thanks,
> Ben




More information about the R-help mailing list