Learn R Programming

DescTools (version 0.99.7)

Between: Between Operators Check, if a Value Lies Within a Given Range

Description

The between operators are used to check, whether given values x lie within a defined range. The values can be numbers, text or dates. Ordered factors are supported.

Usage

x %()% rng
x %(]% rng
x %[)% rng
x %[]% rng

Arguments

x
is a variable with at least ordinal scale, usually a numeric value, but can be an ordered factor or a text as well. Texts would be treated alphabetically.
rng
a vector of two values, defining the minimum and maximum of the range for x

Value

  • A logical vector of the same length as x.

Details

The between operators basically combine two conditional statements into one and simplify so the query process. They are merely a wrapper for: ifelse (x >= rng[1] & x <= rng[2],="" true,="" false)<="" code="">, where the round bracket ( means "strictly greater than >" and the square bracket [ means ">=". Numerical values of x will be handled by C-code, which is significantly faster than two comparisons in R (especially when x is huge). . SQL-guys might like these kind of thinking.

See Also

if, ifelse, Comparison

Examples

Run this code
x <- 1:9
x %[]% c(3,5)
c(x,NA) %[]% c(3,5)

x %(]% c(3,5)

# no result when from > to:
x %[]% c(5,3)
x %(]% c(5,5)

# no problem:
ordered(x) %[]% c(3,5)

# not meaningful:
factor(x) %[]% c(3,5)

# characters
letters[letters %(]% c("d","h")]

data(d.pizza)
x <- levels(d.pizza$driver)
x %[]% c("C","G")

# select diamonds with a price between 2400 and 2510
data(d.diamonds)
d.diamonds[d.diamonds$price %[]% c(2400,2510),]

# use it with an ordered factor and select all diamonds with 
#   symmetry between G (included) and X (excluded).
mean(d.diamonds[d.diamonds$symmetry %[)% c("G","X"),"price"])

Run the code above in your browser using DataLab