If you're thinking about using environments, I would suggest you initialize them like
x <- new.env(parent = emptyenv()) Since environments have parent environments, it means that requesting a value from that environment can actually return the value stored in a parent environment (this isn't an issue for [[ or $, this is exclusively an issue with assign, get, and exists) Or, if you've already got your values stored in a list that you want to turn into an environment: x <- list2env(listOfValues, parent = emptyenv()) Hope this helps! On Tue, Nov 2, 2021, 06:49 Yonghua Peng <y...@pobox.com> wrote: > But for data.frame the colnames can be duplicated. Am I right? > > Regards. > > On Tue, Nov 2, 2021 at 6:29 PM Jan van der Laan <rh...@eoos.dds.nl> wrote: > > > > > True, but in a lot of cases where a python user might use a dict an R > > user will probably use a list; or when we are talking about arrays of > > dicts in python, the R solution will probably be a data.frame (with each > > dict field in a separate column). > > > > Jan > > > > > > > > > > On 02-11-2021 11:18, Eric Berger wrote: > > > One choice is > > > new.env(hash=TRUE) > > > in the base package > > > > > > > > > > > > On Tue, Nov 2, 2021 at 11:48 AM Yonghua Peng <y...@pobox.com> wrote: > > > > > >> I know this is a newbie question. But how do I implement the hash > > structure > > >> which is available in other languages (in python it's dict)? > > >> > > >> I know there is the list, but list's names can be duplicated here. > > >> > > >>> x <- list(x=1:5,y=month.name,x=3:7) > > >> > > >>> x > > >> > > >> $x > > >> > > >> [1] 1 2 3 4 5 > > >> > > >> > > >> $y > > >> > > >> [1] "January" "February" "March" "April" "May" > "June" > > >> > > >> [7] "July" "August" "September" "October" "November" > > "December" > > >> > > >> > > >> $x > > >> > > >> [1] 3 4 5 6 7 > > >> > > >> > > >> > > >> Thanks a lot. > > >> > > >> [[alternative HTML version deleted]] > > >> > > >> ______________________________________________ > > >> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > >> 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. > > >> > > > > > > [[alternative HTML version deleted]] > > > > > > ______________________________________________ > > > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > > 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@r-project.org mailing list -- To UNSUBSCRIBE and more, see > > 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. > > > > [[alternative HTML version deleted]] > > ______________________________________________ > R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see > 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. > [[alternative HTML version deleted]] ______________________________________________ R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see 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.