Re: [Rd] list comprehension to create an arbitrary-sized list with arbitrary names/values

From: Olaf Mersmann <>
Date: Wed, 13 Oct 2010 21:34:24 +0200


On 13.10.2010, at 21:26, Steve Kim wrote:
> mydict = dict([(keyfun(x), valfun(x)) for x in mylist])
> to create a dictionary with whatever keys and values we want from an
> input list of arbitrary size. In R, I want to similarly create a list
> with names/values that are generated by some keyfun and valfun
> (assuming that keyfun is guaranteed to return something suitable as a
> name). How can I do this?

Try something like this:

  mydict <- lapply(mylist, valfun)
  names(mydict) <- sapply(mylist, keyfun)


  mydict <- structure(lapply(mylist, valfun), names=sapply(mylist, keyfun))

Olaf mailing list Received on Wed 13 Oct 2010 - 19:37:09 GMT

Archive maintained by Robert King, hosted by the discipline of statistics at the University of Newcastle, Australia.
Archive generated by hypermail 2.2.0, at Thu 14 Oct 2010 - 01:20:09 GMT.

Mailing list information is available at Please read the posting guide before posting to the list.

list of date sections of archive