RのパッケージAERをインストールする際に詰まった問題の対処法
はじめに
普段はPython を使っているのですが,統計モデリング(個人的には離散選択モデリング)をする際にRのパッケージが充実しているのでRを使おうと思いました.
Sarrias, Mauricio, and Ricardo Daziano. 2017. “Multinomial Logit Models with Continuous and Discrete Individual Heterogeneity in R: The Gmnl Package.” Journal of Statistical Software, Articles 79 (2): 1–46. pdf
この論文に,離散選択モデル(多項ロジットモデルから混合ロジットモデル,潜在クラスロジットモデル,Mixed-Mixed Logit Model まで)を使用できるR のパッケージ "gmnl" の使い方が書いてあり,自分でも実装しようとしたところ,
使われているデータセットを呼び出すときのパッケージ "AER" をインストールする際に詰まってしまったのでブログにメモを残しておきます.
AER は,Applied Econometrics with R の略で応用計量経済学に特化したパッケージです.
警告メッセージ
エディタはJupyter Notebook を使っています.
バージョンは以下のとおりです.
> R.version platform x86_64-pc-linux-gnu arch x86_64 os linux-gnu system x86_64, linux-gnu status major 3 minor 4.4 year 2018 month 03 day 15 svn rev 74408 language R version.string R version 3.4.4 (2018-03-15) nickname Someone to Lean On
AER をインストールしてみます.すると警告メッセージがでました.
> install.packages("AER", dependencies = TRUE) Warning message: “dependencies ‘car’, ‘effects’, ‘mvtnorm’ are not available” also installing the dependencies ‘ks’, ‘dynlm’, ‘rugarch’, ‘sampleSelection’, ‘systemfit’ Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘ks’ had non-zero exit status” Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘dynlm’ had non-zero exit status” Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘systemfit’ had non-zero exit status” Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘AER’ had non-zero exit status” Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘rugarch’ had non-zero exit status” Warning message in install.packages("AER", dependencies = TRUE): “installation of package ‘sampleSelection’ had non-zero exit status”
どうやらcarというパッケージが使用できないようです.carというパッケージは,回帰分析などの手法に関する関数やデータを集めたものです.そこでcarをインストールしてみます.すると警告がでました.
> install.packages("car", dependencies = TRUE) Warning message: “package ‘car’ is not available (for R version 3.4.4)”
carは自分のRのバージョン 3.4.4 では使えないようです.
CRAN で確認すると,バージョン3.5以上が求められていました.
CRAN (Comprehensive R Archive Network)は,R本体や各種パッケージをダウンロードするためのWebサイトのことです.(引用元:CRAN国内ミラーの使い方)
最新バージョンのRをインストール
こちらの記事を参考にバージョン3.6.2のRをインストールしました.ターミナルからRコマンドでRを起動し,バージョンが上がっていることを確認しました.
> R R version 3.6.2 (2019-12-12) -- "Dark and Stormy Night" Copyright (C) 2019 The R Foundation for Statistical Computing Platform: x86_64-pc-linux-gnu (64-bit)
また,こちらの記事を参考にJupyter Notebook でも最新版のRを使えるようにしました.
Jupter Notebook でのバージョン確認
> R.version platform x86_64-pc-linux-gnu arch x86_64 os linux-gnu system x86_64, linux-gnu status major 3 minor 6.2 year 2019 month 12 day 12 svn rev 77560 language R version.string R version 3.6.2 (2019-12-12) nickname Dark and Stormy Night
再びインストールにトライ
> install.packages("car", dependencies = TRUE) also installing the dependencies ‘rematch’, ‘forcats’, ‘hms’, ‘readr’, ‘tidyselect’, ‘cellranger’, ‘progress’, ‘zip’, ‘estimability’, ‘highr’, ‘markdown’, ‘xfun’, ‘miniUI’, ‘webshot’, ‘DBI’, ‘sp’, ‘haven’, ‘data.table’, ‘readxl’, ‘openxlsx’, ‘minqa’, ‘nloptr’, ‘RcppEigen’, ‘effects’, ‘bdsmatrix’, ‘zoo’, ‘knitr’, ‘manipulateWidget’, ‘numDeriv’, ‘mitools’, ‘carData’, ‘abind’, ‘pbkrtest’, ‘quantreg’, ‘maptools’, ‘rio’, ‘lme4’, ‘alr4’, ‘coxme’, ‘leaps’, ‘lmtest’, ‘MatrixModels’, ‘rgl’, ‘sandwich’, ‘SparseM’, ‘survey’
インストールが完了し,carが使用可能になりました.(dependencies = TRUE にすると依存関係にあるパッケージも同時にインストールしてくれるのですが,時間がかかるのでFALSEにしておいても良いかもしれません)
そしてAERのインストールをします.(時間がかかりそうなのでAERのみインストール)
> install.packages("AER") also installing the dependency ‘Formula’
インストールが完了したので呼び出してみます.
> library(AER) Loading required package: lmtest Loading required package: zoo Attaching package: ‘zoo’ The following objects are masked from ‘package:base’: as.Date, as.Date.numeric Loading required package: sandwich Loading required package: survival
必要なパッケージも呼び出して,使用できるようになりました.
データセットを呼びだしてみます.
> data("TravelMode", package = "AER") > head(TravelMode)
これでデータが使えるようになりました.
まとめ
Rはほぼ使ったことがなかったのでパッケージのインストールに手こずりましたが,無事にパッケージを使用できるようになりました.上記の論文の写経を進めたいと思います.