#' Select or count ID's which range span over given value
#'
#' Select or count ID's which range span over given value
#'
#' @param id vector of individual indexes corresponding to other parameters
#' @param min minimum value of given ID
#' @param max maximum value of gievn ID
#' @param range if specified min and max ignored
#' @param value vector of values which are being checked
#' @param returned "count" - number of unique ID's having value within its range , or "id" list of ID having value within its range.
#' @export
searchWithin <- function(id, min, max, value, returned = "count"){
if(missing(id)) id = 1:length(min)
range <- data.table(id = id, min = min, max = max)
res <- list()
if(returned == "id"){
for(i in 1:length(value)){
val <- value[i]
temp <- range[val >= min & val <= max,]
temp %<>% .[,value := val]
res[[i]] <- temp[,.(id,value)]
}
res <- rbindlist(res, use.names=T, fill=T)
res %<>% .[order(id, value)]
}
if(returned == "count"){
for(i in 1:length(value)){
val <- value[i]
temp <- range[val >= min & val <= max,]
res[[i]] <- temp$id %>% unique %>% length
}
res <- data.table(value, number = unlist(res))
}
res %>%
return()
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.