#' `vec` a vector with at least two different elements,
#' `range` a 2-element vector specifying the normalized range
#' @export
normalize.vector = function(vec, range = c(0,1)) {
stopifnot(length(unique(vec)) >= 2)
vec.max = max(vec)
vec.min = min(vec)
a = range[1]
b = range[2]
res = a + (vec - vec.min)*(b-a)/(vec.max - vec.min)
return(res)
}
#' `digits.to.keep` refers to digits after decimal point '.'
#' @export
specify.decimal = function(number, digits.to.keep) {
trimws(format(round(number, digits.to.keep), nsmall = digits.to.keep))
}
#' @export
remove.commented.and.empty.lines = function(lines) {
commented.or.empty.lines = character(0)
for (line in lines) {
if (startsWith(line, "#") || trimws(line) == "") {
commented.or.empty.lines = c(commented.or.empty.lines, line)
}
}
pruned.lines = lines[!lines %in% commented.or.empty.lines]
return(pruned.lines)
}
#' @export
get.parent.dir = function(dir) {
parts = unlist(strsplit(dir, "/"))
parent.dir = do.call(file.path, as.list(parts[1:length(parts) - 1]))
return(parent.dir)
}
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.