| Title: | An Alternative Conflict Resolution Strategy | 
| Version: | 1.2.0 | 
| Description: | R's default conflict management system gives the most recently loaded package precedence. This can make it hard to detect conflicts, particularly when they arise because a package update creates ambiguity that did not previously exist. 'conflicted' takes a different approach, making every conflict an error and forcing you to choose which function to use. | 
| License: | MIT + file LICENSE | 
| URL: | https://conflicted.r-lib.org/, https://github.com/r-lib/conflicted | 
| BugReports: | https://github.com/r-lib/conflicted/issues | 
| Depends: | R (≥ 3.2) | 
| Imports: | cli (≥ 3.4.0), memoise, rlang (≥ 1.0.0) | 
| Suggests: | callr, covr, dplyr, Matrix, methods, pkgload, testthat (≥ 3.0.0), withr | 
| Config/Needs/website: | tidyverse/tidytemplate | 
| Config/testthat/edition: | 3 | 
| Encoding: | UTF-8 | 
| RoxygenNote: | 7.2.3 | 
| NeedsCompilation: | no | 
| Packaged: | 2023-01-31 19:50:23 UTC; hadleywickham | 
| Author: | Hadley Wickham [aut, cre], RStudio [cph, fnd] | 
| Maintainer: | Hadley Wickham <hadley@rstudio.com> | 
| Repository: | CRAN | 
| Date/Publication: | 2023-02-01 08:20:06 UTC | 
conflicted: An Alternative Conflict Resolution Strategy
Description
R's default conflict management system gives the most recently loaded package precedence. This can make it hard to detect conflicts, particularly when they arise because a package update creates ambiguity that did not previously exist. 'conflicted' takes a different approach, making every conflict an error and forcing you to choose which function to use.
Resolving conflicts
To permanently resolve a conflict within a session, use assignment:
library(conflicted) library(dplyr) filter <- dplyr::filter
Author(s)
Maintainer: Hadley Wickham hadley@rstudio.com
Other contributors:
- RStudio [copyright holder, funder] 
See Also
Useful links:
- Report bugs at https://github.com/r-lib/conflicted/issues 
Persistently prefer one function over another
Description
conflict_prefer() allows you to declare "winners" of conflicts.
You can either declare a specific pairing (i.e. dplyr::filter() beats
base::filter()), or an overall winner (i.e. dplyr::filter() beats
all comers). As of conflicted 1.2.0, in most case you should use
conflicts_prefer() instead as it's both faster and easier to use.
Use conflicted_prefer_all() to prefer all functions in a package, or
conflicted_prefer_matching() to prefer functions that match a regular
expression.
Usage
conflict_prefer(name, winner, losers = NULL, quiet = FALSE)
conflict_prefer_matching(pattern, winner, losers = NULL, quiet = FALSE)
conflict_prefer_all(winner, losers = NULL, quiet = FALSE)
Arguments
| name | Name of function. | 
| winner | Name of package that should win the conflict. | 
| losers | Optional vector of packages that should lose the conflict.
If omitted,  | 
| quiet | If  | 
| pattern | Regular expression used to select objects from the  | 
Examples
# Prefer over all other packages
conflict_prefer("filter", "dplyr")
# Prefer over specified package or packages
conflict_prefer("filter", "dplyr", "base")
conflict_prefer("filter", "dplyr", c("base", "filtration"))
# Prefer many functions that match a pattern
## Not run: 
# Prefer col_* from vroom
conflict_prefer_matching("^col_", "vroom")
## End(Not run)
# Or all functions from a package:
## Not run: 
# Prefer all tidylog functions over dtplyr functions
conflict_prefer_all("tidylog", "dtplyr")
## End(Not run)
Find conflicts amongst a set of packages
Description
conflict_scout() is the workhorse behind the conflicted package. You can
call it directly yourself if you want to see all conflicts before hitting
them in practice.
Usage
conflict_scout(pkgs = NULL)
Arguments
| pkgs | Set of packages for which to report conflicts. If  | 
Value
A named list of character vectors. The names are functions and the values are the packages where they appear. If there is only a single package listed, it means that an automated disambiguation has selected that function.
A user friendly print method displays the result as bulleted list.
Examples
conflict_scout()
Declare many preferences at once
Description
conflicts_prefer() allows you to declare "winners" of conflicts,
declaring one or many winners at once.
See conflict_prefer() for more precise control.
Usage
conflicts_prefer(..., .quiet = FALSE)
Arguments
| ... | Functions to prefer in form  | 
| .quiet | If  | 
Best practices
I recommend placing a single call to conflicts_prefer() at the top of
your script, immediately after loading all needed packages with calls to
library().
Examples
conflicts_prefer(
  dplyr::filter(),
  dplyr::lag(),
)
# or
conflicts_prefer(
  dplyr::filter,
  dplyr::lag,
)