albatrosary's blog

Azure と Angular と Wercker CI とか

「RとRuby によるデータ解析入門-読書会」 〜 参加レポート 〜

4/5(土)に兵庫県尼崎市で行われた「RとRuby によるデータ解析入門-読書会」への参加レポートです。RもRubyも少し触ったことがある程度なので復習の意味も含め勉強してきました。詳細はこちらです: 

4月5日 R と Ruby によるデータ解析入門 読書会 第1回(兵庫県)

 

R言語について

R言語については RjpWiki - RjpWiki を見て頂けるのが一番良いと思います。Rの紹介やRのインストール方法など有用な情報が記載されています。今回は下記ツールをインストールしました。

  • Rコンソール
  • Rコマンダー
  • RStudio

Rコンソール 

MAC版Rのインストールは R for Mac OS X からインストールできます。インストール完了後コンソールを開き「r」と叩きます。これでRが使えるようになります。

f:id:albatrosary:20140407135727p:plain

Rコンソールも使えてUIは

f:id:albatrosary:20140407140252p:plain

です。パッケージのインストール管理等Rコンソールを使うと比較的容易に行えます。

 

Rコマンダー 

Rコマンダーですが Rコマンダー: Rcmdr (1) に従えば使えそうなのですが、現状はうまくインストールできません。このサイトからの引用ですがRコマンダーをインストールすると基本機能として下記が簡単に扱えます。

 

  機能の項目
ファイル 作業ディレクトリの変更、スクリプトファイルを開く・保存、出力結果の保存、ワークプレースの保存、Rコマンダーの終了
編集 切り取り、コピー、貼り付け、削除、検索、すべてを選択、取り消し、やり直し、ウィンドウをクリア
データ 新しいデータセットの作成、データのインポート、パッケージ内のデータセット、アクティブデータセット内の変数管理
統計量 要約、分割表、平均、比率、分散、ノンパラメトリック検定、次元解析、モデルへの適合
グラフ 色パレッド、インデックスプロット、ヒストグラム、幹葉図、箱ひげ図、QQプロット、散布図、散布図行列、折れ線グラフ、平均のプロット、棒グラフ、円グラフ、3Dグラフ、グラフをファイルで保存
モデル アクティブモデルの選択、モデルの要約、計算結果の保存、信頼区間、仮説検定、数値による診断、モデル関連のグラフ
分布 連続型と離散型に分けて正規分布、t分布、カイ2乗分布、F分布、2項分布、ポアソン分布など
ツール パッケージロード、オプション
ヘルプ 日本語による「Rコマンダー入門」がある

 

RStudio

R言語を扱うのにもっとも良いツールはRStudioだと思います。

f:id:albatrosary:20140407140448p:plain

 

RStudioはRでコーティングしたプログラム(.r)を使え、かつコンソールでの表示、グラフ、パッケージ等GUIで表示できます。バッファリングしている情報も見れますのでRでのコーティングでは強力なツールになると思われます。Rでのコーティングではこちらを使えべきではないかと思います。

RStudioのインストールは RStudio からインストールできます。

 

Rubyについて

MACを使っているとRubyのインストールはあまり考えなくていいのではないかと思います。なので省略します。「RとRuby によるデータ解析入門」で「Shoes」というものをインストールするとありました。

Shoes

Shoesに関して「RとRuby によるデータ解析入門」を引用すると

ShoesはRubyでGUIアプリケーションを作成するためのクロスプラットフォームのツールキットです。他のほとんどの UI ツールキットは既存のUIツールキットをRuby用にバインディングしたものですが、これらとは異なり、Shoesは完全にRuby専用です。Shoesはとても簡単に使うことができます。これがこの本でShoesを採用した主な理由となっています。

ということです。

最後に

今回は「RとRuby によるデータ解析入門」の第4章まで読みました。基本的なRubyとRのコーティングとツールのインストールで終わりましたが、こうした基本を振り返るのは気分がリフレッシュされ良いと思います(どんなプログラムでもコーティングは面白い)。

特に「本」という線上でコーティングを進めますのでぶれなくゴールにたどり着くのはプログラマに安心感を与えます。本来プロジェクトも同じでしっかりした設計書はリリースするべきシステムの導線を明確にしプログラマに安心感を与えるものです。ウォーターフォールでもアジャイルでもこうした開発プロセスのための導線を明確にするのは当たり前のことと思いますが、みなさん如何でしょうか?