9

Rでいくつかのパッケージを使用していますが、一部/すべてのパッケージが既にインストールされているかどうかに関係なく、マシンでスクリプトを実行しています。

パッケージはzooquantmoddata.table、...、その他多数あります。

これは私が試したことです: インストールされていない場合、これらのパッケージがそれぞれインストールされているかどうかを確認する方法はありますか? R が既に存在するパッケージを再インストールするために時間を無駄にしたくありません。

これは私が試したことです:

pckg = c("zoo", "tseries", "quantmod", "MASS", "graphics", "plyr", "data.table", "gridExtra") 

 is.installed <- function(mypkg){
    is.element(mypkg, installed.packages()[,1])
 } 

 for(i in 1:length(pckg)) {
    if (!is.installed(pckg[i])){
         install.packages(pckg[i])
     }
 }

それを行うより良い方法はありますか?

また、インストール用にミラーを自動的に設定する必要があります。その方法がわかりません。

ありがとう!

4

1 に答える 1

12

libraryパッケージが見つからない場合にパッケージをインストールしてから、それをインストールする代わりに使用するこの便利な関数がありますrequire

usePackage <- function(p) {
    if (!is.element(p, installed.packages()[,1]))
        install.packages(p, dep = TRUE)
    require(p, character.only = TRUE)
}

CRAN ミラーをグローバルに選択する必要がある場合は、次の方法があります。

r <- getOption("repos")
r["CRAN"] <- "http://cran.us.r-project.org"
options(repos = r)
rm(r)
于 2013-10-25T19:35:43.347 に答える