Richard Cotton
2014-Aug-21 13:26 UTC
[Rd] The behaviour of setting names differs between lists and atomic vectors
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? -- Regards, Richie
Duncan Murdoch
2014-Aug-21 13:47 UTC
[Rd] The behaviour of setting names differs between lists and atomic vectors
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")). Duncan Murdoch