[prev in list] [next in list] [prev in thread] [next in thread]
List: r-devel
Subject: Re: [Rd] List's `[[` method with "" tag
From: Sergueï_Sokol_via_R-devel <r-devel () r-project ! org>
Date: 2023-09-11 16:52:51
Message-ID: fdf54c1464d0e0d9a45fae138c050ef1 () 198c5bc6 ! internal
[Download RAW message or body]
It's per design:
?names
...
The name '""' is special: it is used to
indicate that there is no
name associated with an element of a (atomic
or generic) vector.
Subscripting by '""' will match nothing (not even
elements which
have no name).
...
Best,
Serguei.
Le 2023-09-11
18:29, Trevor Davis a écrit :
> Hi,
>
> I notice that one can assign a
variable to an R list by using an empty
> string key but one cannot get
that variable back from the list by using the
> empty string key:
>
>
```r
> l <- list()
> l[[""]] <- "An empty string as list key"
>
names(l)
> l[[""]] # Returns a `NULL`
> l[[names(l) == ""]] # Returns
first value with `""` tag
> ```
>
> Instead of `l[[""]]` returning a
`NULL` I'd "expect" it to instead return
> the first variable named `""`
i.e. in this case "An empty string as list
> key". It would be nice if
the `[[` method of a list was updated to "fix"
> this.
>
>
Additionally, I observe that if a list is named but has certain
elements
> without names then those are currently "named" `""`:
>
>
```r
> names(list(a = 1, 2, c = 3, 4))
> ```
>
> This latter change may
be a breaking change but I speculate that perhaps it
> may be more
intuitive if missing names were indicated with `NA_character_`
> instead
of `""`.
>
> Thanks,
>
> Trevor
>
> [[alternative HTML version
deleted]]
>
> ______________________________________________
>
R-devel@r-project.org mailing list
>
https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
[prev in list] [next in list] [prev in thread] [next in thread]
Configure |
About |
News |
Add a list |
Sponsored by KoreLogic