R 防御式编程
Dr. Colin Gillespie
Jumping Rivers
.GlobalEnvls() 查看内容n
# 或者我想要的是
N
library() 让你直接访问这个"包盒子"library("dplyr") 让你直接访问 dplyr 的导出函数## 238 exported functions
getNamespaceExports("dplyr")
:: 直接访问某个函数## 来自 dplyr 的 filter 函数
dplyr::filter
## filter() 函数
stats::filter()
dplyr::filter()
filter(),我会得到哪个版本?search() 来帮忙search()
# [1] ".GlobalEnv" "package:dplyr" "package:stats"
# <Other packages>
命名空间冲突不只是麻烦
conflicted 包让你的函数选择更为"显式"
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")
R 防御式编程