Rmarkdown与可复算性研究

F. Rodriguez-Sanchez

Estacion Biologica de Donana (CSIC)
@frod_san

翻译 yufree(@yu_free)

27-11-2014

多数科学是不可重复的

… 同一研究组不同时间也会这样!

你最亲密的合作者是6个月前的你,并且你也不会回邮件。
P. Wilson

研究流程

  1. 准备数据 (EXCEL)

研究流程

  1. 准备数据 (EXCEL)

  2. 分析数据 (R)

研究流程

  1. 准备数据 (EXCEL)

  2. 分析数据 (R)

  3. 撰写报告/论文 (WORD)

该流程容易中断

中断流程的问题

  • 你如何做的?图是如何分析的?你考虑了…?

  • 使用了什么数据(最终数据集还是初步数据集)?

  • 坏了,数据有错,你能重复分析并更新word里的图表吗?

学术论文是广告不是学术成就,实际的学术成就是全部的软件环境、代码和数据,他们产生了结果。
Claerbout & Karrenbach 1992

Rmarkdown 来拯救你!

knitr - pandoc - Rstudio

Rmarkdown 文档

  • 完全可重复 (追踪所有的图表数据)

  • 动态的 (一键再生成)

  • 适合于

    • 文档 (Word, PDF, etc)
    • 演讲
    • 网站

眼见为实

Rstudio中新建Rmarkdown文档并点击Knit HTML

示例:

阳光会影响幸福吗?

See myproject.Rmd

HTML 输出

数据里有错? 没问题!

 

改动Rmarkdown文档, 点击knit报告会自动更新!

其他格式: PDF, Word

添加引用

See output

在HTML文档中内置数据

交互式文档: Rmarkdown + ggvis

给你与你的合作者一点乐趣

 

将R脚本转为Rmarkdown

  • 使用 knitr::spin

纪录你的工作流程

Rmarkdown 配合版本控制 (Git)

一个基于Rmarkdown与Git的高效全复算性工作流程

扩展阅读

扩展阅读 (software/R packages)

从这里找到该幻灯片原版