Defensief programmeren in R
Dr. Colin Gillespie
Jumping Rivers
.GlobalEnvls()n
# of bedoelde ik
N
library() geeft je directe toegang tot die packagedooslibrary("dplyr") geeft directe toegang tot de geëxporteerde functies in dplyr## 238 exported functions
getNamespaceExports("dplyr")
:: om een functie direct aan te roepen## De filter-functie uit dplyr
dplyr::filter
## De functie filter()
stats::filter()
dplyr::filter()
filter() typ, welke krijg ik dan?search() helpt je hierbijsearch()
# [1] ".GlobalEnv" "package:dplyr" "package:stats"
# <Other packages>
Namespace-conflicten zijn meer dan vervelend
De conflicted-package maakt je functiekeuze expliciet
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")
Defensief programmeren in R