Programação Defensiva em R
Dr. Colin Gillespie
Jumping Rivers
.GlobalEnvls()n
# ou eu queria
N
library() dá acesso direto a essa "caixa" do pacotelibrary("dplyr") dá acesso direto às funções exportadas do dplyr## 238 exported functions
getNamespaceExports("dplyr")
:: para acessar uma função diretamente## A função filter do dplyr
dplyr::filter
## A função filter()
stats::filter()
dplyr::filter()
filter(), qual versão eu obtenho?search() para salvar o diasearch()
# [1] ".GlobalEnv" "package:dplyr" "package:stats"
# <Other packages>
Conflitos de namespace são mais que um incômodo
O pacote conflicted tenta tornar sua escolha de função explícita
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")
Programação Defensiva em R