でたぁっ 感動と失敗の備忘録

データ解析を担当することになったサラリーマンの備忘録

プロキシ環境でRを使うときのメモ

 職場でRを使っているとパッケージのインストールなどプロキシ環境に悩まされることがある。
企業に多そうなWin7 32bit/64bit環境の話。Macは持っていないので分かりません。

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

 一般的にはコンソールで下記コマンドを実行する。

Sys.setenv("http_proxy"="http://xxx.xxx.xxx.xxx:8080")
options(repos=local({ r <- getOption("repos"); r["CRAN"] <- "http://cran.ism.ac.jp"; r }))
install.packages("パッケージ名")

下記のようなプロキシの認証画面が出たらユーザーIDとパスワードを入力する。
f:id:deta:20140401221857p:plain
2行目のミラーサイトリポジトリ統計数理研究所、これは各自の任意。リポジトリはあらかじめファイルに記述しておけば起動時に読み込まれるので省略可。私の場合は、etc/Rprofile.site を修正した。
次のコマンドでプロキシとリポジトリは確認できる。

Sys.getenv("http_proxy")
getOption("repos")

Windows環境変数に設定してます

 プロキシ環境でしか使わないのであれば環境変数に設定するってのもありです。
[コントロールパネル]-[システム]-[システムの詳細設定]-[環境変数] ユーザー環境変数に、

変数名:http_proxy
変数値:http://xxx.xxx.xxx.xxx:8080

みたいに設定している。
また、Rでは関係なさそうだがプロキシのユーザーIDとパスワードも設定している。

変数名:http_proxy_user
変数値:ユーザーID

変数名:http_proxy_pass
変数値:パスワード

設定しておくとRubyでgem installをプロキシ環境で行うときに有効?よく理解していないが設定している。

install_github を使ってインストールする場合

 rChartsなどCRANになく、install_githubでンストール場合は下記のように行う。

library(devtools)
library(httr)
set_config(use_proxy(url="http://xxx.xxx.xxx.xxx", port=8080, username="ユーザーID", password="パスワード"))
install_github('rCharts', 'ramnathv')

{devtools}、{httr}ともにhadley氏の素晴らしいパッケージ。
また、{httr}にあるGET関数でWEBページを取得する場合はこのようにする。

library(httr)
GET("http://xxxx", c(use_proxy(url="http://xxx.xxx.xxx.xxx", port=8080, username="ユーザーID", password="パスワード")))

または、

library(httr)
set_config(use_proxy(url="http://xxx.xxx.xxx.xxx", port=8080, username="ユーザーID", password="パスワード"))
GET("http://xxxx")