val_in_interval()

Introduction

Here we implement a function to evaluate if a given value falls within a specific interval. The n intervals should be input in a data frame structure and the value as a numeric variable. The function returns a numeric vector of n elements with an integer value for each interval of either 0 if the value is below the interval, 1 if it is inside it (with a rightmost open limit) and 2 if it is above the interval.

The val_in_interval() function takes the following parameters:

  • df A data frame containing the intervals to be evaluated.
  • lowLim the column index or name in the data frame df corresponding to the lower limit of the interval.
  • upLim the column index or name in the data frame df corresponding to the upper limit of the interval.
  • true.val the true value to be checked if it falls within the interval defined by lowLim and upLim.

Example

First let’s define a data frame with the intervals 1-4, 5-9, 10-15 and 17-20:

intervals <- data.frame(lowLim = c(1, 5, 10, 17), upLim = c(4, 9, 15, 20)) # Creates a data frame with three intervals: 1 - 4, 5 - 9, 10 - 15 and 17 - 20.

intervals
##   lowLim upLim
## 1      1     4
## 2      5     9
## 3     10    15
## 4     17    20

Lets say we want to find in which interval the value 11 falls in:

true.val <- 11

index <- val_in_interval(intervals, "lowLim", "upLim", true.val)

index
## [1] 2 2 1 0

Here we can see that the value falls in the third interval (10 - 15) marked with a 1 in the output vector.