質問
以下のRコマンドはすべてインストールCRANパッケージ:
availablePackages <- available.packages()[,1]
install.packages(availablePackages)
以下のコンパイラは、スレッドがすすべてのインストールされたパッケージ:
installedPackages <- .packages(all.available = TRUE)
私の質問は どんな指導をすべてインストールCRANパッケージがインストールされていない?
解決
率直に言って、私はそれが仕事を骨の折れると思う...それは(私は些細なことをやって楽しむ)でも週(リソースに応じて)、日間続くが、ここではコードですなります:
# get names of installed packages
packs <- installed.packages()
exc <- names(packs[,'Package'])
# get available package names
av <- names(available.packages()[,1])
# create loooong string
ins <- av[!av %in% exc]
install.packages(ins)
....あなたがこれをやっている理由は、私はまだ得ることはありません、しかし、ちょっと...いくつかのものはただであることを意味していません どのような私の最も不思議は、すでにあなた自身の質問に答えてきたという事実です!あなたが必要なものだ、それは一緒に物事を置くためにあなた次第です... 我々はポイントを逃していますか?あなたの心に何かを持っていましたか?!?
他のヒント
1)ださい。があり 以上3500 (訳は、2012年)してみてはいかがだろうか。
2)ただけ CRANタスクの見方 の ctv パッケージイナパッケージからつまり与えられた課題に対して?
3)大胆な面の質問は、単純な割り出しクエリできるように手(およびその他にも help(sets)
)
R> available <- LETTERS # a simple set
R> installed <- LETTERS[c(1:10, 15:26)] # a simple subset
R> available[ ! available %in% installed ]
[1] "K" "L" "M" "N"
R>
編集: お客様のフォローアップ:
a)パッケージは渡しません'R CMDをチェックLinux、Windows、取得しませんの掲CRAN.ように仕事が行われます。
b)取得によってお客様には作業もしています。しかったでcran2debる http://debian.cran.r-project.org (ガイDebianパッケージビルであるだけで設置).いま2050年の2150パッケージ。があり、お断りさせていただきますの構築のためライセンスは、複数できませんのでていないためのヘッダーまたはlib数できませんの構築が必要などBioConductorのパッケージ。
このコマンドを入力して、すべてのパッケージが自動的にインストールされます。
install.packages(available.packages()[,1])
私はこれをテストしてきたし、それが動作します。
availablePackages=available.packages()
availablePackages<-as.vector(availablePackages[,1])
installedPackages=.packages(all.available = TRUE)
missedPackages<-setdiff(availablePackages, installedPackages)
for (i in 1:length(missedPackages))
{
pkgName <- missedPackages[i]
install.packages(pkgName)
}
print("END")
よろしく
より良いあなたが使用している場合:
check.and.install.Package<-function(package_name){
if(!package_name%in%installed.packages()){
install.packages(package_name)
}
}
必要なパッケージがインストールされている場合は機能し、チェックを呼び出します:
check.and.install.Package("pkgName")