PIB - GNU R - package

パッケージの一覧

現在利用可能なパッケージ一覧

.packages(T)

ロード済みのパッケージ一覧

search()

所在も含めた利用可能なパッケージ一覧

library()

パッケージの load/unload

load は .packages(T) で返って来るパッケージ名(ex: "dplyr")、unload は search() で返って来るパッケージ名(ex: "package:dplyr") を与える必要があるようだ。ダブルクオーテーションはあってもなくても動いた。

load

library(パッケージ名)

unload

detach(パッケージ名)

パッケージのインストール

リポジトリ

options()$repos
とすると確認できる。
初期状態では、
> options()$repos
    CRAN 
"@CRAN@" 
のようになっていて、後述の available.packages() 等を行ったタイミングでミラーの一覧を示され、例えば「Japan (Tokyo) [https]」を選ぶと
> options()$repos
                    CRAN 
"https://cran.ism.ac.jp" 
のように設定される。
初期値に戻すには
options(repos=c(CRAN="@CRAN@"))
手動で設定するには、
options(repos=c(CRAN="https://cran.ism.ac.jp"))
のように設定すればよい。

RStudio から呼んでいる場合
> # RStudio + 64bit 版 GNU R 3.6.1 (CRAN 版)
> options()$repos
                       CRAN 
"https://cran.rstudio.com/" 
attr(,"RStudio")
[1] TRUE
> str(options()$repos)
 Named chr "https://cran.rstudio.com/"
 - attr(*, "names")= chr "CRAN"
 - attr(*, "RStudio")= logi TRUE
のような attr が付いている場合がある。
これは
repos = c(CRAN="https://cran.rstudio.com/")
attr(repos, "RStudio") = T
options(repos=repos)
のようにすれば再現できる。

インストール可能なパッケージ一覧

available.packages()
これは以下のような matrix
> class(available.packages())
[1] "matrix"
> colnames(available.packages())
 [1] "Package"               "Version"               "Priority"             
 [4] "Depends"               "Imports"               "LinkingTo"            
 [7] "Suggests"              "Enhances"              "License"              
[10] "License_is_FOSS"       "License_restricts_use" "OS_type"              
[13] "Archs"                 "MD5sum"                "NeedsCompilation"     
[16] "File"                  "Repository"           
パッケージ名が分かっているなら
available.packages()["arules",]
みたいにすると結果が得られる。
パターンマッチで検索しようとするとちょっと面倒かな?
(function(pkgs,col,pat) pkgs[grep(pat,pkgs[,col]),])(available.packages(), "Package", "^arules$")
もっと良い方法がありそうな気がするけど。

インストール

install.packages(c("foo", "bar"))

インストール済みパッケージ一覧

installed.packages()
これは以下のような matrix
> class(installed.packages())
[1] "matrix"
> colnames(installed.packages())
 [1] "Package"               "LibPath"               "Version"              
 [4] "Priority"              "Depends"               "Imports"              
 [7] "LinkingTo"             "Suggests"              "Enhances"             
[10] "License"               "License_is_FOSS"       "License_restricts_use"
[13] "OS_type"               "MD5sum"                "NeedsCompilation"     
[16] "Built"                
パッケージ名(と同じ名前の付いた行名)とバージョンの一覧を得るなら以下のようにすれば得られる
> installed.packages()[,c("Version"),drop=F]
              Version   
assertthat    "0.2.0"   
backports     "1.1.2"   
base64enc     "0.1-3"   
BH            "1.66.0-1"
bindr         "0.1.1"   
...

アンインストール

remove.packages(c("foo","bar"))

更新可能なパッケージ一覧

old.packages()

パッケージの更新

update.packages()

関連