設置すべてのCRANパッケージがインストールされていない?

StackOverflow https://stackoverflow.com/questions/2169118

  •  24-09-2019
  •  | 
  •  

質問

以下の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")
ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top