読者です 読者をやめる 読者になる 読者になる

About connecting the dots.

statistics/machine learning adversaria.

RStudio & knitrによるRの解析結果のドキュメント化

はじめに

データ解析を行った場合,後からやり直しや結果参照,解析の詳細を確認するのって,案外だるいと思いませんか? 私は思います.結果を後から見直して,これってどうやってやってたんだっけとか,この部分変えたいとか,データ処理の細かい部分を確認したいとか,後日分析を引っ張りだして再確認することってよくあります.でもそのときに,詳細を忘れたり,ファイルが複数の箇所に分散しちゃってたり,なんてことがあって結局もう一度一からやり直すはめになったなんて悲しい経験はしたくないですよね.

そんな折に,ちょっと前のTokyo.RでやってたそろそろRStudioの話をみて,これをもとに環境構築から,解析結果の管理までをトータルでやってみましょう,というお話です.

環境構築

生のRはぶっちゃけ使いにくいので,RStudioを使います.SPSSとかSASとかStataとかと比べても,割と遜色ない十分な出来の解析環境になっていると思います.プログラマブルな度合いが高いので,ソフトウェアエンジニア度の高い方々はRのほうが使いやすいかも.

Rのダウンロード

  • RStudioはあくまでRを開発しやすくするためのガワなので,まずはRを入手する必要あり
  • The R Project for Statistical Computingから最新版をダウンロードしてインストールすればよし
  • Win, Mac, Linux(Ubuntu)と3つ試しましたが,WInとMacはバイナリが配布されているから一瞬.Linuxレポジトリや公開鍵の登録などがあって若干面倒くさいかも

RStudioのダウンロード

  • デスクトップ版とサーバ版がありますが,私はデスクトップ版しか使ってないです
  • RStudio - RStudio IDEから落としてインストールするだけ.簡単です

RStudioの過去バージョンを使いたくなったら

  • 過去バージョンを使うことはあまりないと思いますが,もし使うときのための備忘録をつけておきます.互換性の問題とかで過去バージョンがいい,という場合もあるかもしれないので...
  • RStudioは公式ページからは最新版にしかリンクを張ってくれていないので,探すのに苦労しました
  • Are older versions of RStudio available for download? / Questions / Discussion Area - RStudio Supportのディスカッションでは,0.92までしか書いていないですが,それ以降のバージョンも同じ場所にあるので,バージョン名を変えてアクセスすれば普通にダウンロードできます

knitrのプラグイン導入

  • RStudioを立ち上げたら,画面左側にConsoleが表示されるので,そこから以下のコマンドでknitrパッケージをインストールすればOK.最初これに気づかずR本体を立ち上げてそこからパッケージを入れていたのは内緒です
install.packages("knitr")
  • 以下の表示が出たらインストール完了です.再起動しないとknitrは有効にならないっぽいので再起動してください
Installing package(s) into '/Library/Frameworks/R.framework/Versions/2.15/Resources/library'
(as 'lib' is unspecified)
trying URL 'http://cran.rstudio.com/bin/macosx/leopard/contrib/2.15/knitr_0.9.tgz'
Content type 'application/x-gzip' length 550755 bytes (537 Kb)
opened URL
==================================================
downloaded 537 Kb

tar: Failed to set default locale

The downloaded binary packages are in
	/var/folders/69/4pf7w3g930l6n3d7tz04yxr00000gn/T//RtmpESriRK/downloaded_packages

knitrを使った R Markdownの作成とドキュメント化

R Markdownの作成とドキュメントの作成

  • 再起動したら,画面左上のアイコンからR Markdownを選択すればOKです.簡単ですね

f:id:SAM:20121215103306p:plain

  • 最初からフォーマットができているので,そのままエディタのメニューバーにあるKnit HTMLというボタンを押せば,勝手にパブリッシュして,htmlドキュメントにしてくれます

f:id:SAM:20121215103934p:plain

  • 以上です.簡単ですね
  • ちなみに,WIn環境で上記のことを試してみたら,なぜかパブリッシュされた結果に図が表示されないというバグにみまわれ,何をやっても解決しなかったのですが,マシンを再起動した後で改めてやってみたら普通にできたので,なんだったのかは未だによくわかりません

R Markdownの記法

  • 記法についても簡単に説明しておきます.といっても,たくさんあって覚えるのもだるいので,最低限きれいにレイアウトされていればよしという感じではあります
  • このラインの上がタイトル部分になります
テストタイトル
========================================================
  • Rの分析を書く際には,下のブロックで囲みます.生のままだと警告もいっしょに印刷されてしまってうざいので,warningオプションをfalseにしておくとよいと思います
```{r}
summary(cars)
```

```{r warning=FALSE}
summary(cars)
```
  • 図表はfigオプションでサイズを指定します
```{r fig.width=7, fig.height=6}
plot(cars)
```
  • それ以外に,箇条書きとか見出しといった,テキスト装飾もこんな感じで設定できます
マイナスの上の文字が見出しになります.マイナスは1個でもいいですが,マイナス以外の文字があってはだめです
-

- 箇条書きは先頭にマイナスをつけてください
- マイナスと内容の間には半角スペースをあけないとだめです

おわりに

まぁこんな感じで,少なくともRで行った解析に関しては,そのまま手順を共有することができるようになりました.まぁとはいってもこれはあくまで単一タスクのドキュメント化,というレベルで,もう少し大きなスパンの解析の場合,どう管理していくかというのはやはり大きな問題になってくる気がします.