Nalsi的R笔记:RMarkdown

本人PhD的第二学期结束了。这学期上了一门统计的入门课,中间的过程颇为曲折,暂且不提。不过期末作业是用学到的统计方法分析一个数据集,并且写出一篇报告。因为本人最近对于数字人文学的兴趣,所以我选择了美国现代艺术博物馆(MoMA)在Github上发布的馆藏元数据,分析了西方绘画在19世纪末到21世纪初之间尺寸的变化。

因为这门课虽然课程安排上写的工具是SPSS,但是两位老师都很认同现在R在数据分析上的地位,所以也很鼓励我们用R完成全部的作业——所以我也就用R上完了这门课。并且经一位同学(他是一位很有经验的数据科学家)的提醒,第一次用RMarkdown这个插件包(package)完成了我的期末报告。

Markdown,根据Wikipedia的介绍,是一种轻量级的文本标记语言。但是它应用最广的领域是学术写作——尤其是定量研究的学术写作。(Latex是另一种这个领域常用的格式。)

R,作为一个目前在数据科学和数据分析领域应用最广的软件,显然应该有支持这种语言的插件包。以及因为接入了R的平台,这个插件包能够完美的在Markdown文本中插入R的代码和/或R产生的可视化图表。(作为比较,这就比苦逼的截图要容易而且优雅太多了。)

Markdown文本中每一段R的代码称之为一个Knitr chunk。在这个插件包本身的层面,你可以对这个chunk做多种功能的选择:比如选择这个chunk在文本中显示的大小、只显示代码的效果(可视化或者分析结果)、只显示代码本身、不显示所有的信息(比如错误信息或者警告信息),等等。如果你用的R编辑器是RStudio(强烈推荐)的话,那么在RStudio里面你也可以单独显示这段代码产生的结果,这让在文本中插入结果的功能变的非常容易,虽然我个人觉得没办法看到结果在文本的语境下的样子——尤其是文本中的尺寸——显然是一个值得改进的地方。

最后,作为一种常用的格式,它可以被很容易的转换成其他格式,比如Word、幻灯片、PDF、Latex、和HTML。(绝大多数格式都只需要你在这个文件的header的部分稍微改动一下就可以了。而且RStudio自带把rmd文件转换成Word、PDF和HTML的按钮。)

要想了解更多RMarkdown的功能,可以参考RMarkdown的官方文档