R/Infix_Functions.R

Defines functions `%bracket_min%` `%bracket_max%` `%limit%` `%> =<%` `%>= <%` `%>=<%`

`%>=<%` <- function(x, range) {
  range <- sort(range)
  x >= range[1] & x <= range[length(range)]
}

#----------------------------------------------------------------------------------------------------#

`%>= <%` <- function(x, range) {
  range <- sort(range)
  x >= range[1] & x < range[length(range)]
}

#----------------------------------------------------------------------------------------------------#

`%> =<%` <- function(x, range) {
  range <- sort(range)
  x > range[1] & x <= range[length(range)]
}

#----------------------------------------------------------------------------------------------------#

`%limit%` <- function(x, range) {
  range <- sort(range)
  r1 <- range[1]
  rn <- range[length(range)]
  
  ifelse(x <= r1, r1,
         ifelse(x >= rn, rn,
                x))
}

#----------------------------------------------------------------------------------------------------#

`%bracket_max%` <- function(x, range) {
  range <- sort(range)
  for (i in 1:length(range)) {
    if (x <= range[i]) {
      return(range[i])
    }
  }
}

#----------------------------------------------------------------------------------------------------#

`%bracket_min%` <- function(x, range) {
  range <- sort(range, decreasing = T)
  for (i in 1:length(range)) {
    if (x >= range[i]) {
      return(range[i])
    }
  }
}
Ehsan-F/R-Mixtape documentation built on June 24, 2020, 12:22 a.m.