web-dev-qa-db-ja.com

Rに付属していないすべてのパッケージを削除します

baserecommendedを除くすべてのインストール済みパッケージを削除するにはどうすればよいですか?

18
ECII

の代わりに

R 3.0.0に更新され、すべてのパッケージを再構築する必要があります。

ただやる

_update.packages(..., checkBuilt=TRUE)
_

これは、R 3.0.0で行ったことです(_lib.loc=..._を使用して別のローカルディレクトリをポイントします)。これにより、CRANなどのすべてが更新されますそしてリポジトリから取得できますinstall_git()などの場合、運が悪いため、再インストールする必要があります。

ただし、どちらの方法でもnot最初にパッケージを削除する必要があります。

13

注意してください!そして、これを試す前にドキュメントを読んでください:

_# Pasted as a commented to prevent blindly copying and pasting
# remove.packages( installed.packages( priority = "NA" )[,1] )
_

デフォルトでは、これにより.libPaths()の最初のライブラリからパッケージが削除されます。

18
Simon O'Hanlon

受け入れられた回答は機能しなくなりました(R 3.6.X)が、これは機能します:

update.packages(checkBuilt = T, ask = F)

を使用しております checkBuilt=Tこれは、パッケージが古いバージョンでビルドされており、再ビルドする必要があるかどうかをチェックするためです(場合によっては)。

を使用しております ask=Fそれ以外の場合は、煩わしいパッケージごとにプロンプ​​トが表示されるためです。

2
Deleet

Linuxの場合、おそらく最も簡単な方法は、デフォルトで/home/yourusername/Rにあるライブラリフォルダーを削除することです。

たとえば、Fedoraではx86_64-redhat-linux-gnu-libraryと呼ばれます。フォルダ/home/yourusername/R/x86_64-redhat-linux-gnu-libraryが削除されると、次のRの開始時に自動的に再作成されます。すべてのデフォルトライブラリは定期的に利用できます。

1
giocomai

R-Bloggerで利用できるソリューションは次のとおりです。

# create a list of all installed packages
 ip <- as.data.frame(installed.packages())
 head(ip)
# if you use MRO, make sure that no packages in this library will be removed
 ip <- subset(ip, !grepl("MRO", ip$LibPath))
# we don't want to remove base or recommended packages either\
 ip <- ip[!(ip[,"Priority"] %in% c("base", "recommended")),]
# determine the library where the packages are installed
 path.lib <- unique(ip$LibPath)
# create a vector with all the names of the packages you want to remove
 pkgs.to.remove <- ip[,1]
 head(pkgs.to.remove)
# remove the packages
 sapply(pkgs.to.remove, remove.packages, lib = path.lib)

元の投稿へのリンクは次のとおりです。 https://www.r-bloggers.com/how-to-remove-all-user-installed-packages-in-r/

1
add-semi-colons

警告、たくさんのスタッフを削除します

パッケージのアンインストールが機能しない場合があります。その場合は、パッケージのフォルダーを削除することをお勧めします。これは、権限がある場合にRから実行できます。

sapply(paste(installed.packages( priority = "NA" )[, 2], installed.packages( priority = "NA" )[, 1], sep = "/"), unlink, reversive = T)

削除するパスは、次の方法でプレビューできます。

sapply(paste(installed.packages( priority = "NA" )[, 2], installed.packages( priority = "NA" )[, 1], sep = "/"), identity)

この呼び出し:

  • インストールされている非基本パッケージのリストを取得します
  • インストールされたパスのベクトルを作成します
  • パスをループします
  • 各フォルダを再帰的に削除します
0
Deleet