Rのパッケージのインストール、アンインストールからヘルプの使い方などをまとめました。日本語の記事が少ないのでヘルプはよく使いますね。
パッケージのインストール
パッケージのインストールにはinstall.packages()
を使用します。この関数を使用するとCRANで公開されているパッケージをインストールします。dependencies=<TRUE or T>
を指定すると依存関係のあるパッケージもまとめてインストールしてくれます。
> install.packages("stringi", dependencies = TRUE) URL 'https://cran.rstudio.com/bin/macosx/mavericks/contrib/3.2/stringi_0.5-5.tgz' を試しています Content type 'application/x-gzip' length 12685069 bytes (12.1 MB) ================================================== downloaded 12.1 MB ...
複数のパッケージを1回でインストールしたい場合はc()
関数を使用します。
> install.packages(c("stringi", "plyr", "knitr"))
古いバージョンのパッケージや個人のサイトで公開されているパッケージをインストールしたい場合は、対象のパッケージをダウンロードして、以下のように圧縮されたファイルのまま指定します。
install.packages("package.tar.gz", repos = NULL, type = "source")
インストール先のミラーサイトは指定することができますが、RStudioで何も指定せず実行したらhttp://cran.rstudio.com/
が使われてました。速さは特に気にならないのでとりあえずこのままにしておこうと思います。 【検証】CRAN ミラーはどこが速い? - Qiita
パッケージのアンインストール
パッケージの削除にはremove.packages()
を使用します。インストールと同様にc()
関数で複数のパッケージを指定できます。
> remove.packages("stringi") > remove.packages(c("stringi", "plyr", "knitr"))
パッケージのアップデート
パッケージの更新にはupdate.packages()
を使用します。パッケージ毎にアップデートするか確認 (y/N/c) されますので選択してください。
> update.packages() boot : Version 1.3-16 installed in /Library/Frameworks/R.framework/Versions/3.2/Resources/library Version 1.3-17 available at https://cran.rstudio.com Update (y/N/c)? y ...
パッケージを読み込む
インストールしたパッケージを使用するには読み込む(ロードする)必要があります。
> library("package") > require("package")
パッケージを読み込む関数にはlibrary
とrequire
がありますが、違いは R関連(1) requireとlibraryの違い -パッケージのインポート - とりあえずやってみた が詳しいです。スクリプトで書く時はrequire
が便利だなと思いました。というよりパッケージの一覧を確認するlibrary()
と分ける意味でも基本require
で良さそうです。
require
の結果をprint
関数で表示してみると、パッケージが存在すればTRUE
を、存在しなければFALSE
を返していることがわかります。
> print(require("hoge")) 要求されたパッケージ hoge をロード中です [1] FALSE 警告メッセージ: library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, で: ‘hoge’ という名前のパッケージはありません
次のようにパッケージがなければインストールするという事もできます。 参考サイト
if (!require("stringi")) { install.packages("stringi") }
ちなみに読み込まなくてもパッケージ::関数
のようにコロンを2つ記述することで使用できたりします。
> stringi::stri_install_check()
パッケージの一覧
library()
でインストール済みパッケージの一覧が表示されます。
> library() パッケージ (ライブラリ ‘/Library/Frameworks/R.framework/Versions/3.2/Resources/library’ 中): base The R Base Package boot Bootstrap Functions (Originally by Angelo Canty for S) class Functions for Classification cluster Cluster Analysis Extended Rousseeuw et al. ...
search()
では現在読み込まれている(ロード済み)パッケージ一覧を表示します。searchpaths()
は名前の通りですが読み込まれているパッケージのパスを表示します。
> search() [1] ".GlobalEnv" "package:ggplot2" "tools:rstudio" "package:stats" "package:graphics" [6] "package:grDevices" "package:utils" "package:datasets" "package:methods" "Autoloads" [11] "package:base" > searchpaths() [1] ".GlobalEnv" [2] "tools:rstudio" [3] "/Library/Frameworks/R.framework/Versions/3.2/Resources/library/stats" ... [10] "/Library/Frameworks/R.framework/Resources/library/base"
パッケージのアンロード
読み込んだパッケージはdetach(package)
でアンロードします。package にはロード時と同じようにパッケージ名だけではなく、search()
で表示される形式で指定してください。アンロードするとパッケージに含まれている関数は使用できなくなります。
> detach("package:ggplot2")
ヘルプ
パッケージや関数の使い方について不明な箇所はヘルプで確認します。
> help(package="パッケージ") # パッケージのバージョンや著者などを確認 > vignette(package="パッケージ") # パッケージの詳しい情報(無い場合もある) > library(help="パッケージ") # パッケージ情報 > ??パッケージ # パッケージの関数を表示 > help("関数") # 関数の使い方を表示 > ?関数 # 関数の使い方を表示 > args("関数") # 関数の引数を表示 > example("関数") # 関数のサンプルコードを実行。事前にパッケージのロードが必要。 > help.search("検索語") # ヘルプの検索 > help.start() # ヘルプドキュメントを開く