I'd like to unload a package without having to restart R (mostly because restarting R as I try out different, conflicting packages is getting frustrating, but conceivably this could be used in a program to use one function and then another--although namespace referencing is probably a better idea for that use).
?library
doesn't show any options that would unload a package.
There is a suggestion that detach
can unload package, but the following both fail:
detach(vegan)
Error in
detach(vegan)
: invalidname
argument
detach("vegan")
Error in
detach("vegan")
: invalidname
argument
So how do I unload a package?
Try this (see
?detach
for more details):It is possible to have multiple versions of a package loaded at once (for example, if you have a development version and a stable version in different libraries). To detach guarantee that all copies are detached, use this function.
Usage is, for example
or
I tried what kohske wrote as an answer and I got error again, so I did some search and found this which worked for me (R 3.0.2):
or also
When you are going back and forth between scripts it may only sometimes be necessary to unload a package. Here's a simple IF statement that will prevent warnings that would appear if you tried to unload a package that was not currently loaded.
Including this at the top of a script might be helpful.
I hope that makes your day!
Just go to OUTPUT window, then click on Packages icon (it is located between Plot and Help icons). Remove "tick / check mark" from the package you wanted be unload.
For again using the package just put a "tick or Check mark" in front of package or use :
You can also use the unloadNamespace command, as in:
The function detaches the namespace prior to unloading it.
detach(package:PackageName) works and there is no need to use quotes.