[R] behavior of names
    Patrick Connolly 
    p.connolly at hortresearch.co.nz
       
    Tue Dec  6 06:22:04 CET 2005
    
    
  
On Tue, 06-Dec-2005 at 04:14AM +0000, Ben Bolker wrote:
|> 
|>   I find the following ways in which
|> R attempts to preserve names to
|> be puzzling and often annoying
|> 
|>  x = c(a=1,b=2,c=3)
|>  c(d=x["a"],e=x["b"])
|> 
|>  #  d.a e.b 
|>  #  1   2 
|>  list(d=x["a"],e=x["b"])
|> 
|> # $d
|> # a 
|> # 1 
|> 
|> # $e
|> # b 
|> # 2 
|> 
|> (a real-world example: I fit
|> some parameters with mle(), ending
|> up with a named vector of coefficients,
|> and then want to use some or all of
|> those coefficients as input to another
|> mle() call -- I have to remove the
|> names manually.)
|> 
|>   Can anyone suggest why this happens/
|> why it is a good design/whether there
|> are simple workarounds?
Makes perfect sense to me.  It's good to know where elements of lists
came from.
For dealing with the vector, you could do this:
 xv <- c(x["a"],x["b"])
names(xv) <- c("d", "e")
Not so simple with the list
list(d=as.vector(x["a"]),e=as.vector(x["b"]))
HTH
-- 
Patrick Connolly
HortResearch
Mt Albert
Auckland
New Zealand 
Ph: +64-9 815 4200 x 7188
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~
I have the world`s largest collection of seashells. I keep it on all
the beaches of the world ... Perhaps you`ve seen it.  ---Steven Wright 
~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~.~
    
    
More information about the R-help
mailing list