Rを再起動せずにパッケージをアンロードする方法 質問する

Rを再起動せずにパッケージをアンロードする方法 質問する

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)

おすすめ記事