Programmation R défensive
Dr. Colin Gillespie
Jumping Rivers
.GlobalEnvls()n
# ou voulais-je
N
library() vous donne un accès direct à cette boîte de forfaitlibrary("dplyr") donne un accès direct aux fonctions exportées de dplyr## 238 fonctions exportées
getNamespaceExports("dplyr")
:: pour accéder directement à une fonction## La fonction filter de dplyr
dplyr::filter
## La fonction filter()
stats::filter()
dplyr::filter()
filter(), quelle version j'obtiens ?search() à la rescoussesearch()
# [1] ".GlobalEnv" "package:dplyr" "package:stats"
# <Other packages>
Les conflits d'espaces de noms sont plus qu'ennuyants
Le forfait conflicted vise à rendre votre choix de fonction explicite
library("conflicted")
library("dplyr")
filter
#Error: [conflicted] `filter` found in 2 packages.
#Either pick the one you want with `::`
# * dplyr::filter
# * stats::filter
#Or declare a preference with `conflict_prefer()`
# * conflict_prefer("filter", "dplyr")
# * conflict_prefer("filter", "stats")
Programmation R défensive