[Rd] match()/%in% with language objects?
bbolker at gmail.com
Tue Aug 25 18:12:59 CEST 2015
-----BEGIN PGP SIGNED MESSAGE-----
I haven't yet dug into the internals of match() yet to see what's
going on, but I'm wondering whether there's a design reason why I
can't use %in% (which is a wrapper for match()) on language objects.
I'd like to test whether a language object is in a list of language
objects, but I get the error "'match' requires vector arguments":
specials <- c("foo","bar")
spList <- lapply(specials,as.name) ## convert to language objects
"a" %in% spList ## works (FALSE)
spList[] %in% spList ## 'match' requires vector arguments
quote(foo) %in% spList ## ditto
quote(foo) == spList[] ## TRUE
obviously I can go the other way, converting my target into text:
deparse(spList[]) %in% specials ## TRUE
I could also write my own function to loop through the list and stop
when I find it. But I'd prefer to use built-in functionality if possible.
Does anyone have any clues/see what I'm missing?
-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.11 (GNU/Linux)
-----END PGP SIGNATURE-----
More information about the R-devel