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