NEWS.md
new functions:
prepInputs to aid in data downloading and preparation problems, solved in a reproducible, Cache-aware way.postProcess which is a wrapper for sequences of several other new functions (cropInputs, fixErrors, projectInputs, maskInputs, writeOutputs, and determineFilename)downloadFile can handle Google Drive and ftp/http(s) fileszipCache and mergeCache
compareNA does comparisons with NA as a possible value e.g., compareNA(c(1,NA), c(2, NA)) returns FALSE, TRUE
Cache – new features:
showSimilar, verbose which can help with debugginguseCache which allows turning caching on and off at a high level (e.g., options(“useCache”))cacheId which allows user to hard code a result from a CachedigestPathContent –> quick, compareRasterFileLength –> length
Cache function calls, unless explicitly set on the inner functionsuserTags added automatically to cache entries so much more powerful searching via showCache(userTags="something")
checksums now returns a data.table with the same columns whether write = TRUE or write = FALSE.clearCache and showCache now give messages and require user intervention if request to clearCache would be large quantities of data deletedmemoise::memoise now used on 3rd run through an identical Cache call, dramatically speeding up in most casesreproducible.cachePath, reproducible.quick, reproducible.useMemoise, reproducible.useCache, reproducible.useragent, reproducible.verbose
asPath has a new argument indicating how deep should the path be considered when included in caching (only relevant when quick = TRUE)parallel-safe, meaning there are tryCatch around every attempt at writing to SQLite database so it can be used safely on multi-threaded machinesimports for packages e.g., stats
%>%, %C%) and assign %<%
several performance enhancements
mergeCache: a new function to merge two different Cache repositoriesmemoise::memoise is now used on loadFromLocalRepo, meaning that the 3rd time Cache() is run on the same arguments (and the 2nd time in a session), the returned Cache will be from a RAM object via memoise. To stop this behaviour and use only disk-based Caching, set options(reproducible.useMemoise = FALSE) .%<% can be used instead of normal assign, equivalent to lhs <- Cache(rhs).?reproducible.%C% – use to begin a pipe sequence, e.g., Cache() %C% ...
sideEffect can now be a pathdigestPathContent default changed from FALSE (was for speed) to TRUE (for content accuracy)searchFull, which shows the full search path, known alternatively as “scope”, or “binding environments”. It is where R will search for a function when requested by a user.memoise::memoise for several functions (loadFromLocalRepo, pkgDep, package_dependencies, available.packages) for speed – will impact memory at the expense of speed.New Require function
require on those 20 packages, but require does not check for dependencies and deal with them if missing: it just errors. This speed should be fast enough for many purposes.dplyr from ImportsRCurl to Importschange name of digestRaster to .digestRaster
digestRaster affecting in-memory rastersrgdal to Suggests