[prev in list] [next in list] [prev in thread] [next in thread]
List: r-devel
Subject: Re: [Rd] The behaviour of setting names differs between lists and atomic vectors
From: Martin Maechler <maechler () stat ! math ! ethz ! ch>
Date: 2014-08-25 15:53:58
Message-ID: 21499.23574.26909.459333 () stat ! math ! ethz ! ch
[Download RAW message or body]
>>>>> peter dalgaard <pdalgd@gmail.com>
>>>>> on Thu, 21 Aug 2014 16:11:38 +0200 writes:
> On 21 Aug 2014, at 15:47 , Duncan Murdoch
> <murdoch.duncan@gmail.com> wrote:
>> On 21/08/2014 9:26 AM, Richard Cotton wrote:
>>> If you set the names in a list, some cat-style
>>> processing seems to happen. For example, backslashes
>>> are modified. This behaviour doesn't happen with atomic
>>> vectors. Compare, for example:
>>>
>>> setNames(1, "a\\b") ## a\\b ## 1 setNames(list(1),
>>> "a\\b") ## $`a\b` ## [1] 1
>>>
>>> Notice that the name of the element in the list has been
>>> changed to 'a', 'backspace'.
>>>
>>> Is this behaviour intended, or a bug?
>>>
>> I think there's a bug, but not in names<- (or setNames,
>> which calls it). The bug is in the printing, as you'll
>> see if you look at names(setNames(list(1), "a\\b")).
>>
> Yep, slight variant:
>> l <- list(`a\\b`=1) l
> $`a\b` [1] 1
>> l$`a\b`
> NULL
>> l$`a\\b`
> [1] 1
With thanks to the OP, Richie,
this is now fixed in R-devel and R-patched, i.e., in any next
version of R.
Martin Maechler,
ETH Zurich
______________________________________________
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