SlideShare a Scribd company logo
1 of 41
Download to read offline
R を起動するその前に
kos59125

2012-08-03 NagoyaR#9
お知らせ
• 説明の都合上,微妙な嘘が多分に含まれて
います
主な内容
• R の設定の話

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

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

• 想定するレベル

• 多少の問題であれば自己解決できるレベル
話の流れ
• 起動オプション

• 環境変数

• 設定ファイル
モチベーション
モチベーション




   しつこい
モチベーション
• 起動時のライセンス

• いらない

• 終了時の保存確認

• いらない

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


  最初から表示させない設定にしたい
コマンドライン引数
• プログラム    (ここでは R のこと)    で最初に実行さ
れる関数     (いわゆる main 関数)   に与えられる引数
• 例) R.exe "hello world" see you
 → R.exe, hello world, see, you の 4 引数

• 実行中の R からは commandArgs 関数で確
認できる
起動オプション
• プログラムの挙動を変える特別なコマンド
ライン引数
• 例) 多くの UNIX コマンドは –h か --help を
 コマンドライン引数に指定するとプログラムの
 ヘルプを表示して終了する
R の代表的な起動オプション
• --quiet (-q)

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

• --no-save

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

• --help (-h)

 • オプションの一覧を表示する
引数の指定 (Windows)
• ショートカットアイコ
ンを右クリックしてプ
ロパティを選択

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


• (余談) 作業フォルダーも変えて
おくと良い
引数の指定 (Mac OS X)
• GUI 版はコマンドライン引数を無視するの
で起動オプションを指定できない
• 参考) 普通の Mac アプリはターミナルから
  open -a App --args x y z
 のようにコマンドライン引数を指定できる

• コンソール版は普通にコマンドライン引数
を指定できる
引数の指定 (Linux)
• 一般的なコマンドと同様
環境変数
• OS がプロセスを超えて共有するデータ

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

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

• 設定ファイルのパスの指定等に使う
環境変数
• Windows では %VARIABLE% のように変数
名を % で挟んで参照

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


• R からは Sys.getenv("VARIABLE") の形
で取得可能
R が使う主な環境変数 (1)
• R_USER

 • ユーザーディレクトリ

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

• R_HOME

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

 • 外部プログラムから R を利用したり,複数の
  バージョンがあるときに使う
R が使う主な環境変数 (2)
• R_ENVIRON_USER

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

• R_PROFILE_USER

 • 起動時に実行するスクリプトを指定
R が使う主な環境変数 (3)
• R_LIBS_USER

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

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

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

  • システムで利用するライブラリーのディレクトリも
   表示される
環境変数の設定 (Windows)
• スタート
→ アイコンクリック
→ 環境変数の変更

• コントロールパネルか
らでも OK
環境変数の設定 (Windows)
• [新規] で新しい環境変
数の定義

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

• 1 つの変数に複数の値
を定義したい場合はセ
ミコロン (;) で区切る
 • 例) foo;bar;baz
環境変数の設定 (Windows)
• 後述の Renviron 内でファイルのパスを指
定する場合は,フォルダ区切り文字を ¥ で
はなく / にする必要がある
環境変数の設定 (Mac OS X)
• export コマンドで指定

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

• 1 つの環境変数に複数の値を指定したい場
合はコロン (:) で区切る
• 例) 既存の環境変数 PATH に新しい値 ~/bin を
 追加する
  export PATH=${PATH}:~/bin
環境変数の設定 (Mac OS X)
• ログインするたびに環境変数を設定しなお
す必要がある
• ログイン時実行されるスクリプトファイル
 (~/.bash_profile) に指定しておく
環境変数の設定 (Linux)
• ログインシェルが bash なら Mac OS X
と同じ
• 他のシェルの場合は各々のシェルの流儀に
従う
指定すると良い R の環境変数
• Windows

 • R_ENVIRON_USER

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

• Mac OS X / Linux

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

 • 他のアプリケーションとの連携でトラブルがあ
  る場合は R_HOME を指定すると解決するかも
主な R の設定ファイル (共通)
• Renviron

 • 環境変数を指定

• Rprofile

 • 起動時に実行されるスクリプト
主な R の設定ファイル (Windows)
• Rdevga

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

• Rconsole

 • R Console の設定ファイル
Renviron
• 環境変数を指定するファイル

 • ファイルの場所は R_ENVIRON_USER で指定さ
 れる
  • カレントディレクトリかホームディレクトリにあ
  る .Renviron がデフォルト

 • R で利用するその他の環境変数 (R_USER 等) は
 このファイルにまとめて指定すればよい
Renviron
Rprofile
• 起動時に実行されるスクリプトを記述した
ファイル
 • ファイルの場所は R_PROFILE_USER で指定さ
 れる
  • カレントディレクトリかホームディレクトリにあ
   る .Rprofile がデフォルト

 • .First 関数と .Last 関数

 • --no-init-file オプションで無視される
Rprofile
Rdevga (Windows)
• プロットに使用されるフォントの設定

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

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

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

• 阪上先生のブログを参照のこと
Rdevga (Windows)
Rconsole (Windows)
• R Console の設定

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

 • SDI/MDI

 • フォント

 • コンソールサイズ
Rconsole (Windows)
設定 (Windows)
• 環境変数 R_ENVIRON_USER を作成

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

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

  • Windows XP

   • %USERPROFILE%¥Application Data¥R¥Renviron
設定 (Windows)
• デフォルトの設定ファイル         を
                     (場所は後述)
R_ENVIRON_USER に指定した場所にコピー

• Renviron ファイル内で R_USER /
R_LIBS_USER / R_PROFILE_USER を指定
設定 (Mac OS X / Linux)
• デフォルトの設定ファイル        (場所は後述)   を
~/.Renviron にコピー   (~ はホームディレクトリ)


• Renviron ファイル内で R_USER /
R_LIBS_USER を指定
 • デフォルトで ~/.Rprofile を読むので
 R_PROFILE_USER は指定しなくとも良い
デフォルトの設定ファイルの場所
• Windows

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

• Mac OS X

 • /Library/Frameworks/R.framework/Resour
  ces/etc/x86_64/Renviron

• Linux

 • /etc/R/Renviron
まとめ
• 起動オプションで R の挙動を変えられる

• 環境変数を指定すると R の実行環境が改
善できる
参考文献
• help(Startup)

• 「R の設定」

 • 今回の話とほとんど同じです

• 「美しいフォントを使いましょう ―神は
細部に宿る... つまりは,Mac 買おうとい
うおはなし―」

More Related Content

What's hot

SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
Miki Shimogai
 

What's hot (20)

ナレッジグラフ入門
ナレッジグラフ入門ナレッジグラフ入門
ナレッジグラフ入門
 
CV分野におけるサーベイ方法
CV分野におけるサーベイ方法CV分野におけるサーベイ方法
CV分野におけるサーベイ方法
 
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
深層学習の新しい応用と、 それを支える計算機の進化 - Preferred Networks CEO 西川徹 (SEMICON Japan 2022 Ke...
 
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM) 一般化線形モデル (GLM) & 一般化加法モデル(GAM)
一般化線形モデル (GLM) & 一般化加法モデル(GAM)
 
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...[DL輪読会]Revisiting Deep Learning Models for Tabular Data  (NeurIPS 2021) 表形式デー...
[DL輪読会]Revisiting Deep Learning Models for Tabular Data (NeurIPS 2021) 表形式デー...
 
RでGPU使ってみた
RでGPU使ってみたRでGPU使ってみた
RでGPU使ってみた
 
情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成情報アクセス技術のためのテストコレクション作成
情報アクセス技術のためのテストコレクション作成
 
[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習[DL輪読会]Deep Learning 第15章 表現学習
[DL輪読会]Deep Learning 第15章 表現学習
 
SQLチューニング入門 入門編
SQLチューニング入門 入門編SQLチューニング入門 入門編
SQLチューニング入門 入門編
 
最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-最近のRのランダムフォレストパッケージ -ranger/Rborist-
最近のRのランダムフォレストパッケージ -ranger/Rborist-
 
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
pgvectorを使ってChatGPTとPostgreSQLを連携してみよう!(PostgreSQL Conference Japan 2023 発表資料)
 
[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey[DL輪読会]Deep Face Recognition: A Survey
[DL輪読会]Deep Face Recognition: A Survey
 
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
[DL輪読会]EfficientNet: Rethinking Model Scaling for Convolutional Neural Networks
 
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR  #11
「R言語による Random Forest 徹底入門 -集団学習による分類・予測-」 - #TokyoR #11
 
DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜DQNからRainbowまで 〜深層強化学習の最新動向〜
DQNからRainbowまで 〜深層強化学習の最新動向〜
 
強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験強化学習アルゴリズムPPOの解説と実験
強化学習アルゴリズムPPOの解説と実験
 
ネットワーク科学の応用について
ネットワーク科学の応用についてネットワーク科学の応用について
ネットワーク科学の応用について
 
合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点合成変量とアンサンブル:回帰森と加法モデルの要点
合成変量とアンサンブル:回帰森と加法モデルの要点
 
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
SSII2021 [OS2-01] 転移学習の基礎:異なるタスクの知識を利用するための機械学習の方法
 
DBpedia Japaneseとは?
DBpedia Japaneseとは?DBpedia Japaneseとは?
DBpedia Japaneseとは?
 

Viewers also liked

Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
Yohei Sato
 

Viewers also liked (20)

R入門編
R入門編R入門編
R入門編
 
20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門20170923 excelユーザーのためのr入門
20170923 excelユーザーのためのr入門
 
R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42R入門(dplyrでデータ加工)-TokyoR42
R入門(dplyrでデータ加工)-TokyoR42
 
20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習20150303ぞくパタLT-ゆるふわ構造学習
20150303ぞくパタLT-ゆるふわ構造学習
 
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoRRとStanでクラウドセットアップ時間を分析してみたら #TokyoR
RとStanでクラウドセットアップ時間を分析してみたら #TokyoR
 
Mxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53thMxnetで回帰 #TokyoR 53th
Mxnetで回帰 #TokyoR 53th
 
Rcppのすすめ
RcppのすすめRcppのすすめ
Rcppのすすめ
 
Dummiesパッケージ
DummiesパッケージDummiesパッケージ
Dummiesパッケージ
 
Rで潜在ランク分析
Rで潜在ランク分析Rで潜在ランク分析
Rで潜在ランク分析
 
20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor20140625 rでのデータ分析(仮) for_tokyor
20140625 rでのデータ分析(仮) for_tokyor
 
データサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリデータサイエンティスト必見!M-1グランプリ
データサイエンティスト必見!M-1グランプリ
 
TokyoR42_around_chaining
TokyoR42_around_chainingTokyoR42_around_chaining
TokyoR42_around_chaining
 
マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1マルコフ連鎖モンテカルロ法入門-1
マルコフ連鎖モンテカルロ法入門-1
 
Rで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LTRで代数統計 TokyoR #42 LT
Rで代数統計 TokyoR #42 LT
 
最強のハードディスクはどれだ?
最強のハードディスクはどれだ?最強のハードディスクはどれだ?
最強のハードディスクはどれだ?
 
ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)ggplot2再入門(2015年バージョン)
ggplot2再入門(2015年バージョン)
 
Tokyor42 ggplot2
Tokyor42 ggplot2Tokyor42 ggplot2
Tokyor42 ggplot2
 
Tokyor42_r_datamining_18
Tokyor42_r_datamining_18Tokyor42_r_datamining_18
Tokyor42_r_datamining_18
 
Tokyo r33 beginner
Tokyo r33 beginnerTokyo r33 beginner
Tokyo r33 beginner
 
Tokyo r30 anova
Tokyo r30 anovaTokyo r30 anova
Tokyo r30 anova
 

Similar to R を起動するその前に

S2dao Seminar in tripodworks
S2dao Seminar in tripodworksS2dao Seminar in tripodworks
S2dao Seminar in tripodworks
tripodworks
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日
nukaemon
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
ericsagnes
 

Similar to R を起動するその前に (20)

Tokyo.R#16 wdkz
Tokyo.R#16 wdkzTokyo.R#16 wdkz
Tokyo.R#16 wdkz
 
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
ぼくのかんがえた Itamae/Serverspec 構成フレームワーク 〜 Kondate 〜
 
MongoDB Configパラメータ解説
MongoDB Configパラメータ解説MongoDB Configパラメータ解説
MongoDB Configパラメータ解説
 
S2dao Seminar in tripodworks
S2dao Seminar in tripodworksS2dao Seminar in tripodworks
S2dao Seminar in tripodworks
 
とあるDBAの黒い画面(ターミナル)
とあるDBAの黒い画面(ターミナル)とあるDBAの黒い画面(ターミナル)
とあるDBAの黒い画面(ターミナル)
 
20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン20170312 r言語環境構築&dplyr ハンズオン
20170312 r言語環境構築&dplyr ハンズオン
 
ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜ゆるふわLinux-HA 〜PostgreSQL編〜
ゆるふわLinux-HA 〜PostgreSQL編〜
 
2017年11月02日「radare2」トーク/ワークショップAVTokyo 2017
2017年11月02日「radare2」トーク/ワークショップAVTokyo 2017 2017年11月02日「radare2」トーク/ワークショップAVTokyo 2017
2017年11月02日「radare2」トーク/ワークショップAVTokyo 2017
 
2011年10月21日
2011年10月21日2011年10月21日
2011年10月21日
 
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
eZ Publish勉強会2013年3月「eZ Publishの構築を簡単に!」
 
Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011 Debug Hacks at Security and Programming camp 2011
Debug Hacks at Security and Programming camp 2011
 
Mongo dbを知ろう devlove関西
Mongo dbを知ろう   devlove関西Mongo dbを知ろう   devlove関西
Mongo dbを知ろう devlove関西
 
Programming camp 2008, Codereading
Programming camp 2008, CodereadingProgramming camp 2008, Codereading
Programming camp 2008, Codereading
 
Drupalテーマとthemingの基礎
Drupalテーマとthemingの基礎Drupalテーマとthemingの基礎
Drupalテーマとthemingの基礎
 
そろそろRStudioの話
そろそろRStudioの話そろそろRStudioの話
そろそろRStudioの話
 
第一回ゆるふわーる
第一回ゆるふわーる第一回ゆるふわーる
第一回ゆるふわーる
 
MySQLインストールのお作法
MySQLインストールのお作法MySQLインストールのお作法
MySQLインストールのお作法
 
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
JSUG 2018/02/05 SpringOnePlatform2017参加報告 プラットフォーム関連のお話
 
C ai p3_jp_no3v1.0
C ai p3_jp_no3v1.0C ai p3_jp_no3v1.0
C ai p3_jp_no3v1.0
 
Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料Cloudera Manager4.0とNameNode-HAセミナー資料
Cloudera Manager4.0とNameNode-HAセミナー資料
 

R を起動するその前に