[R] behavior of names

Gabor Grothendieck ggrothendieck at gmail.com
Tue Dec 6 05:37:10 CET 2005


You want the individual elements, not a subvector, thus
you need to use [[ rather than [:

c(d = x[["a"]], e = x[["b"]])

Compare:

str(x[["a"]])

and

str(x["a"])

On 12/5/05, Ben Bolker <bolker at zoo.ufl.edu> 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?
>
>  sincerely
>    Ben Bolker
>
> ______________________________________________
> R-help at stat.math.ethz.ch mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide! http://www.R-project.org/posting-guide.html
>




More information about the R-help mailing list