2011年3月18日金曜日

TokyoR#12でプレゼンをしてきました。


前回のTokyo.R(3/5)からだいぶ日が経っていて、ちゃんとブログにまとめておかないとなーと思いながら、いろいろな理由を自分の中で付けて延ばし延ばしにしてしまっていました。
そんな折、先週金曜日に東北関東地震があって、いろいろ大変だったのですが、ちょっと落ち着いてきて、私にできることといったらこれぐらいしかないので、まとめてみました。
(地震には直接関係はありませんが…)

RをSQLで操る

過去に初めて使った言語が「SQL(Structured Query Language)」で長くそれ(しか)使っていなかったので、私の中でのプログラミングといえば、SQLでした。
で、昨年からRを使い始めたのですが、やっぱり集計がめんどくさい…。
Dataframeはテーブルに似ているのでapply系やaggregate系で集計するよりも、手慣れたSQLで集計したい!とRを触っていながら思っていました。

と、思っていたらやっぱり世界では同じことを考えている人がいるらしく、”sqldf”というパッケージを作っている方がいらっしゃいました。
今回話しをした内容は、このパッケージの紹介(使い方)です。

■RをSQLで操る

全体的にはそんなに難しくない(はず…)なので、スライドを読んでいただければ、ある程度は分かる内容かと思います。
スライドの一番最後のほうにも載せていますが、大量のデータをsqldfで捌こうとすると、apply,aggregate系よりも処理速度が落ちますので、生産性かスピードかどちらかをよく考えて使ってみてはどうかと思います。

あと、スライドには載せていませんでしたが、sqldfではSQLで通常使うようなテーブル同士の連結、テーブル作成などもできるようです。
それ以外にけっこうイケそうな関数も準備してあるようなので、パッケージの説明書をご一読ください。(PDF注意)
http://cran.r-project.org/web/packages/sqldf/sqldf.pdf

過去のプレゼンの話がちょっとでた

@dichika (バタデ先生)の話の質疑応答中にでてきた、過去の勉強会で話した資料はこちらです。
まだまだRの日本語の資料が十分ではないと思っていたので、英語のR関連のドキュメントをまとめていました。
ご参考になれば。

Tokyo.R#12関連のページ

2011年2月20日日曜日

RをEclipseで使う(Mac OSX版)


@hamadakoichiさんのブログに触発されて、”Eclipse”というIDEを使ってみようと思い立って、EclipseでRを利用するためにインストールに挑戦してみました。

私が利用している環境はMacOS版なので、@hamadakoichiさんのWindows環境の流れでうまくいくかなーと思っていたのですが、Windows版と「ほぼ」同じだったので、無事にインストールできました。
「ほぼ一緒」というのは、メニューがMac特有の配置になっていることがあるので、「ほぼ一緒」という表現にしてあります。

例によって検索してみたところ、日本語の説明が少なかったので、もし同じようなことをやりたいという方が参考になるように、まとめておきます。

[参考ブログ]
■hamadakoichi Blog - R を Eclipse で使う
→基本的な流れは、このステップに従っていれば大丈夫です。

インストール方法

1.Rのインストール
R-Projectのページから、Rのソフトウェアをダウンロードしてきます。今回はMac OS版なので、該当するOSをダウンロード&インストールします。
http://cran.r-project.org/bin/macosx/
インストール方法はここでは詳しく紹介しませんが、ダウンロードしたファイルをダブルクリックで実行できます。

2.Eclipseのダウンロード
Eclipseのページからダウンロードします。
http://www.Eclipse.org/downloads/
MacOSからこのページにアクセスすると、自動的にMacOSバージョンを選択してくれていますが、ソフトウェアリストのヘッダー付近にOS選択ができるプルダウンメニューがあるので、環境を選択してください。
今回は、”Eclipse Classic 3.6.1, 169 MB”を選択しました。

3.Eclipseのインストール
ダウンロードしてきたアイコンをダブルクリックして、インストール。

4.RのPlag-in のインストール
インストールが完了したら、RのPlag-inをインストールします。
Help>Install New Software を選択して、「Work with:」の「Add…」ボタンをクリック。
別のウィンドウが開くので、「Name」には適当な名前を入力、Locationに以下のURLを入力。
http://download.walware.de/Eclipsee-3.6/  ←Eclipseのバージョン番号に合わせて〜/Eclipse-◯◯/の所を変更してください。
プラグインを選択(私はStatET関連をすべてにチェックを入れました)して、Eclipseを再起動。

5.EclipseのR環境設定
※ここがWindows版と違うところだったので、時間がかかりました。 ><
ツールバー>Eclipse>環境設定>StatET>Run/Debug>R Environments を開く
右上の「Add」をクリック
Nameには適当な名前を入力
Location(R_HOME)を入力。インストールしたRの環境で「R.Home()」を実行させ、出てきたパスを入力。
(ここで私は詰まってしまいました…
Windows版はRのインストール時にホームディレクトリを指定できるので検討がつきますが、Mac版では自動的にインストールされるのでホームディレクトリがわかりません…)
パスの入力ができたら、OKボタンがクリッカブルになるので、OKをクリック。

6.Eclipse内部でのR設定
ツールバー>Run>Run Configuration>R Console が表示されているので、ダブルクリック
RunをクリックするとEclipse内部でRの環境が走ります。

次にEclipseを起動する際には、このコンフィギュレーションか、Eclipse上のツールバーの「Run As (再生ボタンっぽいやつ)」>Run Configuration をクリックして環境を選択するとRが入力できます。

実際に使ってみましょう

実際に使ってみましょう。

Project Explorerを選択し、新しいプロジェクトを作成。
プロジェクトを展開して、右クリック>New>File で新しいRのファイルが作成されます。
中央のコンソールにRコマンドがかけるので、簡単なR文を作成(c(1:10)とか)して、範囲を選択。
「⌘R、⌘R」で選択した範囲を実行でき、下のConsoleに結果が表示されます。

「⌘R」を一回クリックすると右下にコマンド一覧がでてくるので、どのコマンドでどのような挙動になるかがわかるので、いろいろ試してみてください。

使ってみて

ちょっと使ってみていますが、これまでのコンソール+テキストエディタの組み合わせよりも格段に使いやすいのではないかと思います。
メリットをちょっと書いてみると…

自動補完  ← やっぱり補完してくれると間違いが少なくなりますよね。  
自動インテンド  ← 見やすいコードにするなら必須!
エディタと結果Windowの分離  ← コンソールに直接入力すると、大変ですからね…。
オブジェクトブラウザ  ←いちいちobjects()コマンド叩かなくてもよい!
コードの実行&選択した部分の実行  ← テキストエディタで書いた部分をコピペしたくないですよね…。

ちょっとつかってみただけでもRのコーディング環境が劇的に変わるので、ぜひ使ってみてください!

補足

間違っててまったく気付かなかったのですが、「Eclips」じゃなくて、「Eclipse」(最後にe)がつくのですね。間違ったままTweetしてたので、恥ずかしかった…。