Windows版のRでパッケージのインストールに失敗するときの対処法

Rはパッケージのインストールをネットワーク経由で行います。

メニューの「パッケージ」→「パッケージのインストール」もしくはinstall.packagesを端末に打ち込んで、CRAN(Comprehensive R Archive Network)から各種パッケージをダウンロードします。

このとき、windows版のRで以下のようなエラーメッセージが表示されてパッケージがインストールできないことがあります。

> utils:::menuInstallPkgs()
 --- このセッションで使うために、CRAN のミラーサイトを選んでください --- 
 警告:   リポジトリー https://cran.ism.ac.jp/src/contrib に対する索引にアクセスできません :
   URL 'https://cran.ism.ac.jp/src/contrib/PACKAGES' を開けません 
 install.packages(NULL, .libPaths()[1L], dependencies = NA, type = type) でエラー: 
   如何なるパッケージも指定されませんでした

原因の特定

Rを起動して、以下のコードを実行してください。

source("http://noucobi.com/Rsource/tameshi.txt")

Rがインターネットに接続できているときは以下の文字列が表示されます。

この場合、パッケージが置いてあるミラーサイトがダウンしている可能性があります。

Congratulations!
You've successfully accessed to this message through the internet.

大学や会社のネットワークのように外部にプロキシサーバー経由で接続している環境では以下のようなエラーが表示されます。

この場合はRのプロキシ設定を変更します。

以下にエラー file(filename, "r", encoding = encoding) : コネクションを開くことができません 
追加情報:  警告メッセージ: In file(filename, "r", encoding = encoding) : 'noucobi.com' をポート 80 でコネクトできません 

ミラーサイトの変更

optionsのreposにミラーサイトのurlを指定します。

ミラーサイトを選択するウインドウでJapanを選んだ場合は東京の統計数学研究所になります。

ミラーサイト一覧はこちら

例: options(repos="https://ftp.yz.yamagata-u.ac.jp/pub/cran/")

プロキシ設定

Rguiのショートカットを右クリックしてプロパティを開き、リンク先の末尾に--internet2オプションを付けてあげるとウィンドウズのプロキシ設定を使用して外部のネットワークと接続できるようになります。

例: "C:\Program Files\R\R-<Rのバージョン>\bin\x64\Rgui.exe" --internet2

認証プロキシが必要な環境ではRで下記のコマンドを入力します。

Sys.setenv("http_proxy"="http://<ProxyサーバのIP or ホスト名>:<Port番号>")

これでパッケージインストールの際にプロキシユーザーとパスワードを入力するダイアログが出現するようになります。

パッケージを保存するためのディレクトリが作成できないときはこちらを参考にしてください。

dev-moyashi.hatenablog.com