[R] Is there a hash data structure for R

Jan van der Laan rhe|p @end|ng |rom eoo@@dd@@n|
Tue Nov 2 13:19:47 CET 2021


Yes. A data.frame is basically a list where all elements are vectors of 
the same length. So this issue also exists in a data.frame. However, the 
data.frame construction method will detect this and generate unique 
names (which also might not be what you want):

 > data.frame(a=1:3, a=1:3) 
 
 
 
 

   a a.1 
 
 
 
 
                                                                   1 1 
  1 
 
 
 
 
                                                             2 2   2 
 
 
 
 
 
                                                           3 3   3

But still with a little effort you can still create a data.frame with 
multiple columns with the same name. But as Duncan Murdoch mentions you 
can usually control for that.


Best,
Jan




On 02-11-2021 11:32, Yonghua Peng 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 <rhelp using eoos.dds.nl 
> <mailto:rhelp using 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 <yong using pobox.com
>     <mailto:yong using 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 <http://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 using r-project.org <mailto:R-help using r-project.org> mailing list
>     -- To UNSUBSCRIBE and more, see
>      >> https://stat.ethz.ch/mailman/listinfo/r-help
>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>      >> PLEASE do read the posting guide
>      >> http://www.R-project.org/posting-guide.html
>     <http://www.R-project.org/posting-guide.html>
>      >> and provide commented, minimal, self-contained, reproducible code.
>      >>
>      >
>      >       [[alternative HTML version deleted]]
>      >
>      > ______________________________________________
>      > R-help using r-project.org <mailto:R-help using r-project.org> mailing list
>     -- To UNSUBSCRIBE and more, see
>      > https://stat.ethz.ch/mailman/listinfo/r-help
>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>      > PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     <http://www.R-project.org/posting-guide.html>
>      > and provide commented, minimal, self-contained, reproducible code.
>      >
> 
>     ______________________________________________
>     R-help using r-project.org <mailto:R-help using r-project.org> mailing list --
>     To UNSUBSCRIBE and more, see
>     https://stat.ethz.ch/mailman/listinfo/r-help
>     <https://stat.ethz.ch/mailman/listinfo/r-help>
>     PLEASE do read the posting guide
>     http://www.R-project.org/posting-guide.html
>     <http://www.R-project.org/posting-guide.html>
>     and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list