はじめに
以前, org-mode と R を組み合わせたらとても気持ちがよかった.
そこで, もうすこし R と org-mode の可能性を知りたくて, coursera で Reproducible Research をうけた.
内容
全部で 4 週間. 動画リストが以下にある.
- https://www.youtube.com/playlist}} PLjTlxb-wKvXOU4WW4p3qc4VKWTI4gLNUf>
初めの週で, Reproducible Research についての概要について語られる.
Reproducible Research という考え方の情報が少ないので, ネットで情報を検索するよりも, 講義資料が一番役に立つ.
2,3 週目では, 実際に Reproducible Research を実践するためのツール が紹介される. この講義では, knitr をつかう.
紹介された内容にしたがって, 課題が 2 つ出される. github, rpubs に課題を投稿してペアレビューをする.
以下, 自分の提出した課題.
最後の週は, Reproducible Research の実施例が紹介される. 動画は Youtube でも見れる.
- The Importance of Reproducible Research in High-Throughput Biology - YouTube
- ▶ Roger Peng - Reproducible Research Workshop 2011 - YouTube
感想
Emacs で頑張る
講義では RStudio を利用することが求められるのだが, もともとの動機が Emacs org-mode で Reproducible Research をしたかったので, RStudio を頑なに拒否して, Emacs をつかった.
- Emacs で knitr と R markdown を使う方法 (Rmd) | Futurismo
- RPubs に Emacs から投稿してみた (R Markdown, org-mode) | Futurismo
文芸的プログラミングと R はとても相性がいい
文芸的プログラミングと R はとても相性がいい. この件について再認識した.
そしてなにより, 生成されるドキュメントがとてもかっこいいところが 一番気に入った. こういう感動を忘れずにいたい.
Reproducible blog を目指して
再現可能性という考え方もおもしろいと思った.
Reproducible Research が注目を集める背景には, 以下のようなことがある.
自分は研究者ではないので, いまいちピンとこないのだけれども, 身近な問題に置き換えると, ネット上でみつけたコード辺を動かしてみよう としても動かないことがままある.
もしかしたら, 動かないコードやコンパイルできないコードを, 何食わぬ顔で自分も公開しているかもしれない.
最近では, Web 上でコードを実行できるサービスも出てきた.
このようなサービスを利用することで,
Reproducible Blog 再現可能なブログ
を目指そうと思った.
学習メモ
以下, 自分の勉強メモを
Reproducible Research とは
再現可能な研究. 再現可能なデータ分析.
The ultimate product of academic research is the paper along with the full computational environment used to produce the results in the paper such as the code, data, etc.
Computational X の X の部分にすべて適用できる考え方
- コンピュータ心理学
- コンピュータ生理学
- コンピュータ生物学 … etc.
クラシックの交響曲は様々な楽器かそれぞれのメロディーを奏でて, 一つの音楽をつくる.
テンポや曲調がまったく同じ音楽を再現することは不可能だ. (Replication:複製は不可能)
しかし, 楽譜にしたがって演奏することで, 演奏者が違っても, 世界中のどこでも, 作曲家の示した音楽を再現させることは可能だ. (Reproducible: 再現)
音楽における楽譜がデータ解析におけるスクリプトとなる.
以下のメリットがある.
- Transparency
- Data Availability
- Software / Methods Availability
- Improved Transfer of Knowledge
統計解析は異常値の除去の方法によって, 得られる結果が異なることがある. 得られた結果の論拠を強くするために, 論拠となったデータを誰もが分析で きるかたちで共有することが重要となる.また, だれもがデータを分析でき ることで, より議論をタイムリーに生み出しやすくできる.
登場の背景
技術の向上が, Reproducible Research の台頭を支えている.
- コンピュータの計算能力が極めて向上し, 洗練された解析が可能になった.
- 既存のデータベースが “megadatabeses"にマージ可能となった.
- データ収集のスループットが新しい技術によって向上した.
Literate (Statistical) Programming
記事は text
, code
(chunks) からなる
- A documantation Language (human redable)
- P programming language (machine readable)
文芸プログラムは
- 人間が読みやすいドキュメントに
waved
される. - コンピュータが実行可能なドキュメントに
tangled
される.
Research Pipeline
- Mesured Data
- Processing code
- Analytic Data
- Analytics code
- Computational Resuluts -> Presentation code
- Presentation Results
- Fugures
- Tables
- Numerical Summaries
- Articles
管理するファイルの分類
- Data
- Raw data: 生データ
- Processed data: 前処理がおわったデータ
- Figures
- Exploratory figures 分析の途中でできる図.
- Final Figures: 最終結果の図.
- R Code
- Raw scripts
- Final scripts
- Text
- README.md
- R markdown
R markdown
R Studio のための マークアップ言語.
RStudio と R markdown を利用することで 簡単に Reproducible な report が作成可能.
- R で reproducible research
- knitr+pandoc ではじめる~『 R Markdown で Reproducible Research 』
- Writing reproducible reports in R with markdown, knitr and pandoc - Nice R Code
knitr
HTML や markdown, pdf への export. R と Markdown を利用して文芸的プログラミングをするためのツール.
CRAN から取得可能.
install.packages ('knitr', dependencies = TRUE)