There's many additional operators defined in the mvbutils package, including
%!in%.

Kevin


On Thu, Aug 5, 2010 at 10:25 AM, David Huffer <David.Huffer@csosa.gov>wrote:

> See Harrell's Hmisc package
>
> --
>  David Huffer, Ph.D.
>  Deputy Director
>  CSOSA/ORE
>  Washington, DC
>
> -----Original Message-----
> From: r-help-bounces@r-project.org [mailto:r-help-bounces@r-project.org]
> On Behalf Of Ken Williams
> Sent: Thursday, August 05, 2010 11:20 AM
> To: r-help@r-project.org
> Subject: [R] A %nin% operator?
>
> Sometimes I write code like this:
>
> > qf.a <- subset(qf, pubid %in% c(104, 106, 107, 108)) qf.b <-
> > subset(qf, !pubid %in% c(104, 106, 107, 108))
>
> and I get a little worried that maybe I've remembered the precedence
> rules wrong, so I change it to
>
> > qf.a <- subset(qf, pubid %in% c(104, 106, 107, 108)) qf.b <-
> > subset(qf, !(pubid %in% c(104, 106, 107, 108)))
>
> and pretty soon my code looks like fingernail clippings (or Lisp) and
> I'm thinking about precedence rather than my original task.  So I write
> a %nin% operator which I define as:
>
> > `%nin%` <- function (x, table) match(x, table, nomatch = 0L) == 0L
>
> and then I'm happy again.
>
> I wonder, would something like this find a home in core R?  Or is that
> too much syntactic sugar for your taste?
>
> --
> Ken Williams
> Sr. Research Scientist
> Thomson Reuters
> Phone: 651-848-7712
> ken.williams@thomsonreuters.com
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>
> ______________________________________________
> R-help@r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



-- 
Kevin Wright

	[[alternative HTML version deleted]]

