私はRを再起動せずにパッケージをアンロードしたいと思います(競合する別のパッケージを試すときにRを再起動するのはいらいらするからです)参照はおそらくその用途のためのより良い考えです。
?library
はパッケージをアンロードするオプションを表示しません。
提案detach
がパッケージをアンロードできるという提案がありますが、以下の両方は失敗します:
detach(vegan)
detach(vegan)
のエラー:無効なname
引数
detach("vegan")
detach("vegan")
のエラー:無効なname
引数
それでは、どうすればパッケージをアンロードできますか?
これを試してください(詳細については?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)
次のように、unloadNamespaceコマンドを使用することもできます。
unloadNamespace("sqldf")
この関数は、名前空間をアンロードする前に名前空間をデタッチします。
rStudio(packages)のチェックボックスのチェックを外すことができます
Kohskeが答えとして書いたものを試してみたところ、またエラーが出たので、検索してみたところ、これがうまくいった(R 3.0.2)。
require(splines) # package
detach(package:splines)
または
library(splines)
pkg <- "package:splines"
detach(pkg, character.only = TRUE)
スクリプト間を行ったり来たりするときには、パッケージをアンロードするのに必要なのは 時々 だけです。これは、現在ロードされていないパッケージをアンロードしようとした場合に表示される警告を防ぐための簡単なIFステートメントです。
if("package:vegan" %in% search()) detach("package:vegan", unload=TRUE)
これをスクリプトの先頭に含めると便利です。
私はそれがあなたの日になることを願っています!
detach(package:PackageName)
は機能し、引用符を使う必要はありません。
代替ソリューションを追加したいと思います。このソリューションは、パッケージのアンロードに関する質問には直接答えませんが、私見では、目的の目標を達成するためのよりクリーンな代替手段を提供します。述べられているように、さまざまな機能を試す
主に、異なる競合パッケージを試してRを再起動するとイライラしますが、おそらくこれをプログラムで使用して1つの関数を使用し、別の関数を使用することができます-名前空間の参照はおそらくその使用のためのより良いアイデアです
関数 with_package
withr
を介して提供されるパッケージは、次の可能性を提供します。
パッケージを検索パスに添付し、コードを実行してから、パッケージを検索パスから削除します。ただし、パッケージの名前空間はnotアンロードされます。
library(withr)
with_package("ggplot2", {
ggplot(mtcars) + geom_point(aes(wt, hp))
})
# Calling geom_point outside withr context
exists("geom_point")
# [1] FALSE
例で使用されているgeom_point
は、グローバル名前空間からアクセスできません。パッケージをロードおよびアンロードするよりも、競合を処理するよりクリーンな方法かもしれないと思います。
OUTPUTウィンドウに行き、そしてPackagesアイコンをクリックしてください( PlotとHelp iconsの間にあります)。アンロードしたいパッケージから " tick/check mark "を削除してください。
再度パッケージを使用するには、単にパッケージの前に「 チェックマークまたはチェックマーク 」を入れるか、次のように使用します。
library (lme4)