Skip to content
Prev 31856 / 63424 Next

surprising behaviour of names<-

Wacek Kusnierczyk wrote:
Fair enough.  I looked at the help page for "names" after sending my 
email, and was surprised to see the following in the "DETAILS" section:

   "It is possible to update just part of the names attribute via the 
general rules: see the examples. This works because the expression there 
is evaluated as |z <- "names<-"(z, "[<-"(names(z), 3, "c2"))|. "

To me, this paragraph is far more confusing than enlightening, 
especially as also gives the impression that it's OK to use a 
replacement function in a functional form.  In my own personal opinion 
it would be a enhancement to remove that example from the documentation, 
and just say you can do things like 'names(x)[2:3] <- c("a","b")'.

I often use name replacement functions in a functional way, and because 
one can't use 'names<-' etc in this way, I define my own functions like 
the following:

set.names <- function(n,x) {names(x) <- n; x}

(and similarly for set.rownames(), set colnames(), etc.)

I would highly recommend you do this rather than try to use a call like 
"names<-"(x, ...).

-- Tony Plate

(I guess that if on the label of fridge there is a picture of a guy 
carrying it on his back, then Mr. Fridge-Racer might have some grounds 
for suing.)

Thread (49 messages)

Wacek Kusnierczyk surprising behaviour of names<- Mar 10 Peter Dalgaard surprising behaviour of names<- Mar 10 Wacek Kusnierczyk surprising behaviour of names<- Mar 10 Stavros Macrakis surprising behaviour of names<- Mar 10 Wacek Kusnierczyk surprising behaviour of names<- Mar 10 Wacek Kusnierczyk surprising behaviour of names<- Mar 10 Wacek Kusnierczyk surprising behaviour of names<- Mar 10 Simon Urbanek surprising behaviour of names<- Mar 11 Simon Urbanek surprising behaviour of names<- Mar 11 Wacek Kusnierczyk surprising behaviour of names<- Mar 11 Wacek Kusnierczyk surprising behaviour of names<- Mar 11 Berwin A Turlach surprising behaviour of names<- Mar 12 Berwin A Turlach surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Berwin A Turlach surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Berwin A Turlach surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Berwin A Turlach surprising behaviour of names<- Mar 12 Simon Urbanek surprising behaviour of names<- Mar 12 G. Jay Kerns surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Joshua Ulrich surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 12 Berwin A Turlach surprising behaviour of names<- Mar 12 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 Berwin A Turlach surprising behaviour of names<- Mar 13 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 William Dunlap surprising behaviour of names<- Mar 13 Tony Plate surprising behaviour of names<- Mar 13 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 Tony Plate surprising behaviour of names<- Mar 13 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 Berwin A Turlach surprising behaviour of names<- Mar 13 Wacek Kusnierczyk surprising behaviour of names<- Mar 13 Thomas Lumley surprising behaviour of names<- Mar 14 Berwin A Turlach surprising behaviour of names<- Mar 14 Wacek Kusnierczyk surprising behaviour of names<- Mar 14 Wacek Kusnierczyk surprising behaviour of names<- Mar 15 Berwin A Turlach surprising behaviour of names<- Mar 15 Thomas Lumley surprising behaviour of names<- Mar 16 Wacek Kusnierczyk surprising behaviour of names<- Mar 16 Wacek Kusnierczyk surprising behaviour of names<- Mar 16