Please add it if you think it fits, and expand it as discussed, I am not creating a package for one single utility function.
T. On Fri, Sep 5, 2014 at 1:28 AM, David Winsemius <dwinsem...@comcast.net> wrote: > > On Sep 4, 2014, at 12:54 PM, Greg Snow wrote: > > > The TeachingDemos package has %<% and %<=% operators for a between > > style comparison. So for your example you could write: > > > > 1 %<% 5 %<% 10 > > > > or > > > > 1 %<=% 5 %<=% 10 > > > > And these operators already work with vectors: > > > > lb %<=% x %<% ub > > > > and can even be further chained: > > > > 0 %<% x %<% y %<% z %<% 1 # only points where x < y and y < z and all > > between 0 and 1. > > > > It is a little bit different syntax from yours, but would that do what > you want? > > > > If not, we could add a %between% function (expand it a bit following > > Duncan's suggestion) to the TeachingDemos package if you don't want to > > create your own package. > > If you are accepting feature requests I would like to see a `%btwn%` > function that would accept as its second argument either a two element > numeric or alpha vector or a two column matrix of with the same number of > rows as the first argument. Something along these lines: > > > > `%btwn%` <- function(x,y) if(!is.null(dim(y))&&dim(y)[1] == length(x) > ){x >= y[,1] & x < y[,2]}else{x >= y[1] & x <y[2]} > > 4 %btwn% c(2,6) > [1] TRUE > > -- > David > > > > On Thu, Sep 4, 2014 at 8:41 AM, Torbjørn Lindahl > > <torbjorn.lind...@gmail.com> wrote: > >> Not sure if this is the proper list to propose changes like this, if it > >> passes constructive criticism, it would like to have a %between% > operator > >> in the R language. > >> > >> I currently have this in my local R startup script: > >> > >> `%between%` <- function(x,...) { > >> y <- range( unlist(c(...)) ) > >> return( x >= y[1] & x =< y[2] ) > >> } > >> > >> It allows me to do things like: 5 %between c(1,10) > >> > >> and also as act as an "in_range" operator: > >> foo %between% a.long.list.with.many.values > >> > >> This may seem unnecessary, since 5 >= foo[1] && foo<= foo[2] is also > quite > >> short to type, but there is a mental cost to this, eg if you are deeply > >> focused on a complicated program flow, the %between% construct is a lot > >> easier to type out, and relate to, than the logically more complex > >> construct with && and <=/>=, at least in my experience. > >> > >> -- > >> mvh > >> Torbjørn Lindahl > >> > >> [[alternative HTML version deleted]] > >> > >> ______________________________________________ > >> 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. > > > > > > > > -- > > Gregory (Greg) L. Snow Ph.D. > > 538...@gmail.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. > > David Winsemius > Alameda, CA, USA > > -- mvh Torbjørn Lindahl [[alternative HTML version deleted]] ______________________________________________ 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.