- Notifications
You must be signed in to change notification settings - Fork15
r-lib/backports
Folders and files
| Name | Name | Last commit message | Last commit date | |
|---|---|---|---|---|
Repository files navigation
This package provides backports of functions which have been introduced in one of the base packages in R version 3.0.1 or later.The backports are conditionally exported in order to let R resolve the function name to either the implemented backport, or the respective base version, if available.Package developers can make use of new functions or arguments by selectively importing specific backports to support older installations.
Attach the namespace vialibrary(backports).
Note that it is crucial thatbackports is build against the currently running R version.Do not ignore these kind of warnings for this package.
- Add backports to your DESCRIPTION under
Imports. - Add or modify the function
.onLoad()(seehere) to call theimport()function of backports:You can also selectively import functions:.onLoad<-function(libname,pkgname) {backports::import(pkgname)}
If you set.onLoad<-function(libname,pkgname) {backports::import(pkgname, c("get0","dir.exists"))}
force = TRUE, the provided functions will get imported, regardless of the R version:.onLoad<-function(libname,pkgname) {backports::import(pkgname,"hasName",force=TRUE)}
- [Optional] Set
Dependsin your DESCRIPTION to requireR (>= 3.0.0).
Backports for functions which are not in thebase require additional steps.Usually, you need to to import those functions in the package NAMESPACE.However, this is only possible if such a function really exists, and yields a warning duringR CMD check for older versions.There are three possibilities to deal with this:
- Completely import the namespaces instead of selectively importing them, e.g. use
import(utils)instead ofimportFrom(utils, hasName)in yourNAMESPACEfile. - Force-import the function (see above) so that you always use the backport instead of the implementation shipped with R, even for the most recent version of R.
- Use a conditional import in your
NAMESPACEfile, e.g.if (getRversion() >= "3.4.0") { importFrom(utils, hasName)} else { importFrom(backports, hasName)}
Note that the braces{} are necessary in theNAMESPACE file, even though they wouldn't be for regular R code, and that you might get a warningfor includingbackports in theImports: section of yourDESCRIPTION file if you never end up using it.
base::anyNA()base::dir.exists()base::file.size(),base::file.mode()andbase::file.mtime()base::lengths()- Argument
extra_colsforbase::file.info() - Argument
repeatedforutils::URLencode base::isNamespaceLoaded()
base::startsWith()andbase::endsWith()base::strrep()base::trimws()- Argument
typeforutils::capture.output()
base::.valid.factor()utils::hasName()
base::...length()base::...elt()base::isFALSE()
base::warningCondition()base::errorCondition()- Argument
qforbase::dQuote()andbase::sQuote() tools::vignetteInfo()base::str2lang()base::str2expression()base::asplit()utils::removeSource()with the capability to strip source from language objects.
base::deparse1()base::list2DF()tools::R_user_dir()- Argument
classesforbase::suppressWarnings()andbase::suppressMessages()
- Argument
recycle0forbase::paste(). - Argument
recycle0forbase::paste0().
base::...names()base::.libPaths()
tools:::print.Rconcordancetools:::as.character.Rconcordancetools::as.Rconcordancetools:::as.Rconcordance.defaulttools::matchConcordance
About
Reimplementations of Functions Introduced Since R-3.0.0
Topics
Resources
Uh oh!
There was an error while loading.Please reload this page.
Stars
Watchers
Forks
Packages0
Uh oh!
There was an error while loading.Please reload this page.
Contributors5
Uh oh!
There was an error while loading.Please reload this page.