r を起動するその前に

41
R を起動するその前に kos59125 2012-08-03 NagoyaR#9

Upload: kosei-abe

Post on 04-Jul-2015

6.798 views

Category:

Documents


2 download

TRANSCRIPT

Page 1: R を起動するその前に

R を起動するその前に

kos59125

2012-08-03 NagoyaR#9

Page 2: R を起動するその前に

お知らせ

•説明の都合上,微妙な嘘が多分に含まれています

Page 3: R を起動するその前に

主な内容

•R の設定の話

• R 起動時の処理を変更するための設定を行えるようにする

• R の話ではなく,パソコンの話

•想定するレベル

• 多少の問題であれば自己解決できるレベル

Page 4: R を起動するその前に

話の流れ

•起動オプション

•環境変数

•設定ファイル

Page 5: R を起動するその前に

モチベーション

Page 6: R を起動するその前に

モチベーション

しつこい

Page 7: R を起動するその前に

モチベーション

•起動時のライセンス

• いらない

•終了時の保存確認

• いらない

• q("n") とすれば良いが面倒くさい

最初から表示させない設定にしたい

Page 8: R を起動するその前に

コマンドライン引数

•プログラム (ここでは R のこと) で最初に実行される関数 (いわゆる main 関数) に与えられる引数

• 例) R.exe "hello world" see you → R.exe, hello world, see, you の 4 引数

•実行中の R からは commandArgs 関数で確認できる

Page 9: R を起動するその前に

起動オプション

•プログラムの挙動を変える特別なコマンドライン引数

• 例) 多くの UNIX コマンドは –h か --help をコマンドライン引数に指定するとプログラムのヘルプを表示して終了する

Page 10: R を起動するその前に

R の代表的な起動オプション

•--quiet (-q)

• 起動時のメッセージを表示しない

•--no-save

• 終了時にセッションを保存しない (q() が q("n") と同じ意味になる)

•--help (-h)

• オプションの一覧を表示する

Page 11: R を起動するその前に

引数の指定 (Windows)

• ショートカットアイコンを右クリックしてプロパティを選択

• リンク先にコマンドライン引数を指定

• (余談) 作業フォルダーも変えておくと良い

Page 12: R を起動するその前に

引数の指定 (Mac OS X)

•GUI 版はコマンドライン引数を無視するので起動オプションを指定できない

• 参考) 普通の Mac アプリはターミナルから open -a App --args x y z のようにコマンドライン引数を指定できる

•コンソール版は普通にコマンドライン引数を指定できる

Page 13: R を起動するその前に

引数の指定 (Linux)

•一般的なコマンドと同様

Page 14: R を起動するその前に

環境変数

•OS がプロセスを超えて共有するデータ

•プログラムが環境変数を取得して利用する

• Windows だとレジストリを使う場合が多いが環境変数も使われる

•設定ファイルのパスの指定等に使う

Page 15: R を起動するその前に

環境変数

•Windows では %VARIABLE% のように変数名を % で挟んで参照

•Mac / Linux では ${VARIABLE} のように変数名を ${} で囲む ({} は多くの場合に省略可)

•R からは Sys.getenv("VARIABLE") の形で取得可能

Page 16: R を起動するその前に

R が使う主な環境変数 (1)

•R_USER

• ユーザーディレクトリ

• ユーザー設定ファイル等を配置するディレクトリ

•R_HOME

• R のインストールディレクトリを指定

• 外部プログラムから R を利用したり,複数のバージョンがあるときに使う

Page 17: R を起動するその前に

R が使う主な環境変数 (2)

•R_ENVIRON_USER

• 環境変数をまとめて指定するファイルを指定

•R_PROFILE_USER

• 起動時に実行するスクリプトを指定

Page 18: R を起動するその前に

R が使う主な環境変数 (3)

•R_LIBS_USER

• パッケージを保存するディレクトリを指定

• 指定しておけば権限なしでもパッケージがインストールできる

• R からは .libPaths 関数で確認可能

• システムで利用するライブラリーのディレクトリも表示される

Page 19: R を起動するその前に

環境変数の設定 (Windows)

• スタート → アイコンクリック → 環境変数の変更

• コントロールパネルからでも OK

Page 20: R を起動するその前に

環境変数の設定 (Windows)

• [新規] で新しい環境変数の定義

• [編集] で既存の環境変数を編集

• 1 つの変数に複数の値を定義したい場合はセミコロン (;) で区切る

• 例) foo;bar;baz

Page 21: R を起動するその前に

環境変数の設定 (Windows)

•後述の Renviron 内でファイルのパスを指定する場合は,フォルダ区切り文字を ¥ ではなく / にする必要がある

Page 22: R を起動するその前に

環境変数の設定 (Mac OS X)

•export コマンドで指定

• 例) 環境変数 FOO に値 BAR を割り当てる export FOO=BAR

•1 つの環境変数に複数の値を指定したい場合はコロン (:) で区切る

• 例) 既存の環境変数 PATH に新しい値 ~/bin を追加する export PATH=${PATH}:~/bin

Page 23: R を起動するその前に

環境変数の設定 (Mac OS X)

•ログインするたびに環境変数を設定しなおす必要がある

• ログイン時実行されるスクリプトファイル (~/.bash_profile) に指定しておく

Page 24: R を起動するその前に

環境変数の設定 (Linux)

•ログインシェルが bash なら Mac OS X と同じ

•他のシェルの場合は各々のシェルの流儀に従う

Page 25: R を起動するその前に

指定すると良い R の環境変数

•Windows

• R_ENVIRON_USER

• ホームディレクトリに設定ファイルを置かない

• Mac OS X / Linux

• 特に指定する必要はない

• 他のアプリケーションとの連携でトラブルがある場合は R_HOME を指定すると解決するかも

Page 26: R を起動するその前に

主な R の設定ファイル (共通)

•Renviron

• 環境変数を指定

•Rprofile

• 起動時に実行されるスクリプト

Page 27: R を起動するその前に

主な R の設定ファイル (Windows)

•Rdevga

• プロットに使用されるフォントの設定

•Rconsole

• R Console の設定ファイル

Page 28: R を起動するその前に

Renviron

•環境変数を指定するファイル

• ファイルの場所は R_ENVIRON_USER で指定される

• カレントディレクトリかホームディレクトリにある .Renviron がデフォルト

• R で利用するその他の環境変数 (R_USER 等) はこのファイルにまとめて指定すればよい

Page 29: R を起動するその前に

Renviron

Page 30: R を起動するその前に

Rprofile

•起動時に実行されるスクリプトを記述したファイル

• ファイルの場所は R_PROFILE_USER で指定される

• カレントディレクトリかホームディレクトリにある .Rprofile がデフォルト

• .First 関数と .Last 関数

• --no-init-file オプションで無視される

Page 31: R を起動するその前に

Rprofile

Page 32: R を起動するその前に

Rdevga (Windows)

•プロットに使用されるフォントの設定

• ファイルの場所は R_USER で指定されたフォルダ内 (ファイル名は固定)

• 先頭の 4 つを日本語が扱えるフォントを指定すれば OK

•R でフォントを指定することもできる

• 阪上先生のブログを参照のこと

Page 33: R を起動するその前に

Rdevga (Windows)

Page 34: R を起動するその前に

Rconsole (Windows)

•R Console の設定

• ファイルの場所は R_USER で指定されたフォルダ内 (ファイル名は固定)

• SDI/MDI

• フォント

• コンソールサイズ

Page 35: R を起動するその前に

Rconsole (Windows)

Page 36: R を起動するその前に

設定 (Windows)

•環境変数 R_ENVIRON_USER を作成

• %APPDATA%¥R¥Renviron が Windows 流だが,うまくいかないので以下のようにすると良い

• Windows Vista / 7

• %USERPROFILE%¥AppData¥Roaming¥R¥Renviron

• Windows XP

• %USERPROFILE%¥Application Data¥R¥Renviron

Page 37: R を起動するその前に

設定 (Windows)

•デフォルトの設定ファイル (場所は後述) を R_ENVIRON_USER に指定した場所にコピー

•Renviron ファイル内で R_USER / R_LIBS_USER / R_PROFILE_USER を指定

Page 38: R を起動するその前に

設定 (Mac OS X / Linux)

•デフォルトの設定ファイル (場所は後述) を ~/.Renviron にコピー (~ はホームディレクトリ)

•Renviron ファイル内で R_USER / R_LIBS_USER を指定

• デフォルトで ~/.Rprofile を読むので R_PROFILE_USER は指定しなくとも良い

Page 39: R を起動するその前に

デフォルトの設定ファイルの場所

•Windows

• (インストールフォルダ)¥etc¥Rcmd_environ

•Mac OS X

• /Library/Frameworks/R.framework/Resources/etc/x86_64/Renviron

•Linux

• /etc/R/Renviron

Page 40: R を起動するその前に

まとめ

•起動オプションで R の挙動を変えられる

•環境変数を指定すると R の実行環境が改善できる