R入門
パッケージ
最終更新:
r-intro
目次
パッケージに含まれている関数を簡単に使う
パッケージに含まれている関数は、パッケージをあらかじめインストールしておけば「パッケージ::関数」で使用することができるが、パッケージを呼び出しておけば(ロードすれば)、パッケージ名の入力を省略して関数を使用することができる。
パッケージを呼び出すには、library関数を使う。
> chara <- c("ルアン・メェイ", "帰忘の流離人", "イレイナ")
> stringr::str_detect(chara, "イ")
[1] TRUE FALSE TRUE
> str_detect(chara, "イ")
str_detect(chara, "イ") でエラー:
関数 "str_detect" を見つけることができませんでした
> library(stringr)
> str_detect(chara, "イ")
[1] TRUE FALSE TRUEパッケージをインストールする
install.packages関数を使う。以下は、latticeパッケージをインストールした例。
> install.packages("lattice")
パッケージを ‘C:/Users/〇〇/Documents/R/win-library/4.1’ 中にインストールします
(‘lib’ が指定されていないため)
--- このセッションで使うために、CRAN のミラーサイトを選んでください ---上の例のように「ミラーサイトを選んでください」と表示され、以下のようなダイアログが表示されるはず。

ここでミラーサイトを選び(通常は「Japan (Yonezawa) [https]」を選ぶのが無難)、クリックして「OK」ボタンを押すと、パッケージのインストールが始まる。
R起動後に、上記のダイアログでミラーサイトを選んでおくと、次にinstall.packages関数を使うと、そのミラーサイトが自動で選ばれる。つまり、ダイアログは表示されなくなる。しかし、Rを終了すると、この設定は消えてしまう。
options関数を使用してあらかじめミラーサイトを指定しておくと、install.packages関数を使ったときに、ミラーサイトを選ばずにすぐにインストールが始まるようになる。
> options(repos = "https://cran.ism.ac.jp")
> install.packages("RSQLite")
パッケージを ‘C:/Users/〇〇/Documents/R/win-library/4.1’ 中にインストールします
(‘lib’ が指定されていないため)
(以下、表示省略)インストールされているパッケージを一覧で確認する
library関数を使う。引数に何も与えないと、インストールされているパッケージが別ウィンドウで一覧で表示される。
> library()別ウィンドウに、例えば以下のような表示がされているはず(フォルダー名やパッケージなどは環境により異なる)。
パッケージ (ライブラリ ‘C:/Users/○○/Documents/R/win-library/3.○’ 中):
(表示省略)
ggplot2 Create Elegant Data Visualisations Using the Grammar of Graphics
(表示省略)
パッケージ (ライブラリ ‘C:/Program Files/R/R-3.○.○/library’ 中):
base The R Base Package
(表示省略)前者のフォルダー(Users以下)は、install.packages関数で後から追加をしたパッケージが格納され、後者のフォルダー(Program files以下)には、そのRをインストールした際に、一緒にインストールされた標準的なパッケージが格納されている。
パッケージに含まれる関数一覧を得る
help関数を使う。例えば、Rでもっとも標準的なパッケージである、baseパッケージに含まれている関数一覧を得る。
> help(package = base)別ウィンドウが表示されるかブラウザがhtmlファイルを開き、そこにこのパッケージに含まれている関数の一覧が表示されるはず。関数名をクリックすれば、その関数のヘルプのページが表される。
パッケージの関数を使う
「::」を使って、「(パッケージ)::(関数)」と表記することで使うことができる。以下は、MASSパッケージに含まれるムーア・ペンローズ一般逆行列を求めるginv関数を使用した例。MASSパッケージはRに標準で搭載されているが、起動時には自動で読み込まれないため、読み込まないと使うことはできない。
> mx <- matrix(1:4, 2, 2)
> ginv(mx)
ginv(mx) でエラー: 関数 "ginv" を見つけることができませんでした
> MASS::ginv(mx)
[,1] [,2]
[1,] -2 1.5
[2,] 1 -0.5library関数を使ってパッケージをメモリに読み込むことで、パッケージ名を指定しなくても使うことができるようになる。読み込んだパッケージはdetach関数を使うことでメモリから解放することができる。detach関数でパッケージの指定をする際は「package:(パッケージ名)」とする。
> library(MASS)
> ginv(mx)
[,1] [,2]
[1,] -2 1.5
[2,] 1 -0.5
> head(survey, 3)
Sex Wr.Hnd NW.Hnd W.Hnd Fold Pulse Clap Exer Smoke Height M.I Age
1 Female 18.5 18.0 Right R on L 92 Left Some Never 173.0 Metric 18.250
2 Male 19.5 20.5 Left R on L 104 Left None Regul 177.8 Imperial 17.583
3 Male 18.0 13.3 Right L on R 87 Neither None Occas NA <NA> 16.917
> detach(package:MASS)
> ginv(mx)
ginv(mx) でエラー: 関数 "ginv" を見つけることができませんでした
> head(survey)
エラー: オブジェクト 'survey' がありませんlibrary関数の代わりにrequire関数も使うことができる。library関数は読み込みに失敗するとエラーが発生するが、require関数は読み込みに成功するとTRUE、失敗するとFALSEと返して警告が発生する。quietlyオプションにTRUEを与えると、警告は発生しなくなる。
> require(MASS) == TRUE
[1] TRUE
> require(MASSS) == TRUE
要求されたパッケージ MASSS をロード中です
[1] FALSE
警告メッセージ:
library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, で:
‘MASSS’ という名前のパッケージはありません
> require(MASSS, quietly = TRUE) == TRUE
[1] FALSEインストールしたパッケージのバージョンを確認する。
help関数を使い、そのパッケージのヘルプを表示させると、最初にそのバージョンが記載されている。以下、例。
> help(package = ggplot2)次のような表示が上部にあるはず。このパッケージのインストールされているバージョンは3.3.0であることがわかる。
Documentation for package ‘ggplot2’ version 3.3.0新しいバージョンがあるパッケージを一覧表示する
old.packages関数を使う。この関数を実行すると、パッケージをインストールするときと同じように、CRANのミラーサイトを選ぶ必要がある。選ぶと、以下の例のように、インストールされているパッケージのうち、指定をしたミラーサイトで、新しいバージョンが公開されているものが一覧表示される。
> old.packages()
Package LibPath Installed Built ReposVer Repository
(表示省略)
ggplot2 "ggplot2" "C:/○○○" "3.3.0" "3.6.3" "3.3.2" "○○○"
(表示省略)この例の場合は、ggplot2パッケージは、3.3.0がインストールされているが、Rのバージョン3.6.3でビルドされた新バージョン3.3.2が公開されている、ということ。
インストール時に一緒にインストールされたパッケージの一覧表示
library関数を使う。
> library(lib.loc = .Library)別ウィンドウが表示され、R本体と一緒にインストールされたパッケージの一覧が表示される。
パッケージを更新する
update.packages関数を使う。
パッケージを更新する前に、新しいバージョンが公開されているパッケージをold.packages関数で確認してみる。
> old.packages()パッケージを更新する。
> update.packages()ただし、このままだとインストールするか否かをその都度聞かれるため、煩わしい。すべて強制的にアップデートするには、askオプションをFALSEにする。
> update.packages(ask = FALSE)パッケージを簡単にインストールする
install.packages関数を使うとパッケージをインストールすることができるが、デフォルトでは、CRANのミラーを選択するダイアログが表示される。
> install.packages("colorspace")
パッケージを ‘C:/Users/○○/Documents/R/win-library/4.1’ 中にインストールします
(‘lib’ が指定されていないため)
--- このセッションで使うために、CRAN のミラーサイトを選んでください ---ダイアログが表示されずにそのままインストールする方法がある。options関数のreposオプションに、あらかじめCRANのミラーサイトを登録しておけばよい。
> options(repos = "https://cran.ism.ac.jp/")
> install.packages("colorspace")
パッケージを ‘C:/Users/○○/Documents/R/win-library/4.1’ 中にインストールします
(‘lib’ が指定されていないため)
URL 'https://cran.ism.ac.jp/bin/windows/contrib/4.1/colorspace_2.0-3.zip' を試しています
Content type 'application/zip' length 2651058 bytes (2.5 MB)
downloaded 2.5 MB
package ‘colorspace’ successfully unpacked and MD5 sums checked
The downloaded binary packages are in
C:\Users\○○reposオプションに、有効なミラーサイトを登録しないと、エラーが発生する。
> options(repos = "https://www.ism.ac.jp/")
> install.packages("colorspace")
パッケージを ‘C:/Users/○○/Documents/R/win-library/4.1’ 中にインストールします
(‘lib’ が指定されていないため)
警告: unable to access index for repository https://www.ism.ac.jp/src/contrib:
URL 'https://www.ism.ac.jp/src/contrib/PACKAGES' を開けませんこのreposオプションによる設定を無効にするには、Rを再起動する。
パッケージをインストールするサーバーを指定する
options関数にreposオプションを付けて使う。reposオプションには、次のページに掲載されているCRANのミラーサイトのURLを指定する。一覧は、以下のページ。 https://cran.r-project.org/mirrors.html
日本国内のミラーサイトを指定して、ggplot2パッケージをインストールしてみる。
> options(repos = "https://ftp.yz.yamagata-u.ac.jp/pub/cran/")
> install.packages("ggplot2")このoptions関数でCRANのミラーサイトを指定すると、install.packages関数でインストールする際は、ミラーサイトを選択させるダイアログは表示されずに、すぐにこのミラーサイトから読み込みを始める。
library関数で呼び出したパッケージを切り離す
library関数で呼び出した(ロードした)パッケージを切り離す(アンロード)には、detach関数を使う。引数に「package:パッケージ名」と指定する。
> chara <- c("ルアン・メェイ", "帰忘の流離人", "イレイナ")
> library(stringr)
> str_detect(chara, "イ")
[1] TRUE FALSE TRUE
> detach(package:stringr)
> str_detect(chara, "イ")
str_detect(chara, "イ") でエラー:
関数 "str_detect" を見つけることができませんでした