DATA MINING
Desktop Survival Guide by Graham Williams |
|||||
Packages and Namespaces |
Detaching a package does not unload its namespace from R. Unloading a namespace does not de-register its methods. As Gabor Grothendieck points out on r-help on 26 Mar 2007:
> search() [1] ".GlobalEnv" "package:stats" "package:graphics" [4] "package:grDevices" "package:utils" "package:datasets" [7] "package:methods" "Autoloads" "package:base" > loadedNamespaces() [1] "base" "graphics" "grDevices" "methods" "stats" "utils" > as.Date(1) # error as there is no numeric method for as.Date Error in as.Date.default(1) : do not know how to convert '1' to class "Date" > library(zoo) > search() [1] ".GlobalEnv" "package:zoo" "package:stats" [4] "package:graphics" "package:grDevices" "package:utils" [7] "package:datasets" "package:methods" "Autoloads" [10] "package:base" > loadedNamespaces() [1] "base" "graphics" "grDevices" "grid" "lattice" "methods" [7] "stats" "utils" "zoo" > as.Date(1) # zoo defines a numeric method for as.Date [1] "1970-01-02" > detach() > unloadNamespace("zoo") <environment: namespace:zoo> > search() [1] ".GlobalEnv" "package:stats" "package:graphics" [4] "package:grDevices" "package:utils" "package:datasets" [7] "package:methods" "Autoloads" "package:base" > loadedNamespaces() [1] "base" "graphics" "grDevices" "grid" "lattice" "methods" [7] "stats" "utils" > # zoo is gone from attached package list and loadedNamespaces > # but numeric method for as.Date from zoo is still registered > as.Date(1) [1] "1970-01-02" |