[R] Partial matching when using $ ? Feature or bug?
sarah.goslee at gmail.com
Fri Mar 16 14:54:13 CET 2012
On Fri, Mar 16, 2012 at 9:45 AM, Rainer M Krug <r.m.krug at gmail.com> wrote:
> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> I have the following code:
> x <- data.frame(x1=1, x2=2, y1=3)
>  3
> I was surprised (and definitely irritated?) when I realised that partial matching also works for
> the $. Is this intended?
This is documented behavior, which by definition makes it a feature, right?
Both ‘[[’ and ‘$’ select a single element of the list. The main
difference is that ‘$’ does not allow computed indices, whereas
‘[[’ does. ‘x$name’ is equivalent to ‘x[["name", exact =
FALSE]]’. Also, the partial matching behavior of ‘[[’ can be
controlled using the ‘exact’ argument.
It's also a really good reason to use [[ in functions or anywhere
there might be a chance of confusion.
More information about the R-help