`%$%` <- function(f, x) f(x) `%.%` <- function(f, g) function(...) f(g(...)) flip <- function(f) function(x, y) f(y, x) clear_na <- function(xs) xs[!is.na(xs)] check_directory <- function(path, create=F) { # check if download_dir exists if(file.access(path, mode=0) == -1) { if (create) { tryCatch(dir.create(path), error = stop_dir_not_creatable, warning = stop_dir_not_creatable) } else { stop("Directory does not exist. Use create = TRUE if you wish to create the directory.") } } else if (file.access(path, mode=2) == -1) { stop("Directory exists, but is not writeable.") } } # appends a file seperator at end of path if needed make_directory_path <- function(path) { if (!str_ends(path, .Platform$file.sep)) str_c(path, .Platform$file.sep) else path }