Steve Kim
2010-Oct-13 19:26 UTC
[Rd] list comprehension to create an arbitrary-sized list with arbitrary names/values
In python, one can do this 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?
Olaf Mersmann
2010-Oct-13 19:34 UTC
[Rd] list comprehension to create an arbitrary-sized list with arbitrary names/values
Hi, 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) or mydict <- structure(lapply(mylist, valfun), names=sapply(mylist, keyfun)) Cheers Olaf
Erik Iverson
2010-Oct-13 19:35 UTC
[Rd] list comprehension to create an arbitrary-sized list with arbitrary names/values
This question probably belongs on R-help instead of R-devel. What works best for you will depend on how big 'mylist' is. An article discussing some possibilities can be found at: http://opendatagroup.com/2009/07/26/hash-package-for-r/ Hope this helps, --Erik Steve Kim wrote:> In python, one can do this > > 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? > > ______________________________________________ > R-devel at r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel