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 at r-project.org mailing list>
https://stat.ethz.ch/mailman/listinfo/r-devel
[[alternative HTML version deleted]]