Package Workflows
Search Path
Planning Qualified Calls
The search path records attached packages, but package workflows are clearer when important calls are written with explicit namespaces.
Program
Play the script to choose a package and build the qualified call that avoids search-path ambiguity.
search_path_plan.R
search_path <- c("package:stats", "package:graphics", "package:utils")
package_index <-
chosen <- c("stats", "graphics", "utils")[package_index]
functions <- c(stats = "median", graphics = "plot", utils = "head")
qualified <- paste0(chosen, "::", functions[[chosen]])
already_attached <- paste0("package:", chosen) %in% search_path
label <- paste(qualified, already_attached, sep = "=")
cat(label, "\n", sep = "")
search_path <- c("package:stats", "package:graphics", "package:utils")
package_index <-
chosen <- c("stats", "graphics", "utils")[package_index]
functions <- c(stats = "median", graphics = "plot", utils = "head")
qualified <- paste0(chosen, "::", functions[[chosen]])
already_attached <- paste0("package:", chosen) %in% search_path
label <- paste(qualified, already_attached, sep = "=")
cat(label, "\n", sep = "")
search_path <- c("package:stats", "package:graphics", "package:utils")
package_index <-
chosen <- c("stats", "graphics", "utils")[package_index]
functions <- c(stats = "median", graphics = "plot", utils = "head")
qualified <- paste0(chosen, "::", functions[[chosen]])
already_attached <- paste0("package:", chosen) %in% search_path
label <- paste(qualified, already_attached, sep = "=")
cat(label, "\n", sep = "")
search path
`search()` reports attached packages; this example models that list as data.
namespace
`qualified` stores a package-qualified function name.
membership
`%in%` checks whether the chosen package is attached.