R を再起動せずにパッケージをアンロードしたいと思います (主な理由は、さまざまな競合するパッケージを試すときに R を再起動するのが面倒だからですが、プログラムで 1 つの関数を使用してから別の関数を使用することもできます。ただし、その用途には名前空間参照の方が適している可能性があります)。
?library
パッケージをアンロードするオプションは表示されません。
そこには提案パッケージをアンロードできますdetach
が、次の両方とも失敗します。
detach(vegan)
エラー
detach(vegan)
: 無効なname
引数
detach("vegan")
エラー
detach("vegan")
: 無効なname
引数
では、パッケージを降ろすにはどうすればいいのでしょうか?
ベストアンサー1
これを試してください(?detach
詳細については を参照してください)。
detach("package:vegan", unload=TRUE)
パッケージの複数のバージョンを一度にロードすることも可能です (たとえば、開発バージョンと安定バージョンが異なるライブラリにある場合など)。すべてのコピーが確実に分離されるようにするには、この関数を使用します。
detach_package <- function(pkg, character.only = FALSE)
{
if(!character.only)
{
pkg <- deparse(substitute(pkg))
}
search_item <- paste("package", pkg, sep = ":")
while(search_item %in% search())
{
detach(search_item, unload = TRUE, character.only = TRUE)
}
}
使用法は、例えば
detach_package(vegan)
または
detach_package("vegan", TRUE)