On 13-02-26 5:30 AM, Patrick Burns wrote:
Is it on purpose that `[[` strips the
names when used on an atomic vector?

  > c(a=1, b=2)[1]
a
1
  > c(a=1, b=2)[[1]]
[1] 1


Yes, as Brian said. And this makes sense: the names are a property of the container, not a property of the contents. Using single brackets creates a new container with a subset of the elements. Using double brackets extracts an element.

The fact that there's no way to hold a number other than in a length one container means that the results are both length one containers, but conceptually there's a difference between subsetting and extracting. Perhaps at some distant date in the future scalar numbers will be possible, and then maybe c(a=1, b=2)[[1]] would give one.

Duncan Murdoch

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to