방어적 R 프로그래밍
Dr. Colin Gillespie
Jumping Rivers
.GlobalEnv 입니다ls() 를 사용합니다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 프로그래밍