北河以北

用 knitr 写作业

文/宋春林

在统计学和R领域,我眼中的大神之一是谢益辉。他对统计学理解很深,R语言更是达到了精通的程度。谢大神本科和硕士都在中国人大,2013年从爱荷华州立大学博士毕业,现在在RStudio公司工作。他读研究生期间就写了好几个R包(比如animation,formatR和knitr),还出了本英文专著,各种奖更是拿到手软。一开始接触R的时候,我在网上搜集R相关的各种资料,不知道怎么的就找到了统计之都,然后知道了它的创办人是谢益辉,当时没啥感觉。后来在Coursera上 Computing for Data Analysis课程,Roger Peng老师专门介绍了knitr这个包,并顺带介绍了其作者Yihui Xie,我顺手Google了一下就搜到了谢益辉的博客,读了很多他的博文,发现他也是极具个性的一个人,很多方面值得我学习。

作者介绍完毕,说说knitr(念neat-r)。简单来说,这是一个灵活、优雅的R报告生成系统。比如老师布置的作业如果需要用R来做,那通过knitr就可以把作业中的代码、结果、图形以想要的格式全部集成在一个HTML文件中。最新的版本还支持直接生成Word文档,这就拓展了knitr的使用场景,比如要写R语言有关的书,通过knitr一次性解决格式、代码、运行结果和图片的排版问题,将会极大地提高工作效率。如此好用,并且还免费,就像R中其他的包一样,这是我喜欢R最大的原因。使用方法跟按照普通的包一样,只不过要在RStudio里安装。

knitr使用简单的R Markdown语法标记格式,这个标记语言和Markdown语法基本相同,差别很小。几个月前通过简书我接触了Markdown,这是一种极其简单又相当好用的纯文本标记语言,有了它就可以在写作的时候更加专注,也方便格式转换。R Markdown中的一级标题和二级标题分布用连续的等号和连字符来标记,这和Markdown中的#号有所不同。还有一点就是R Markdown通过{r}R Code的形式来标记R代码。Markdown与R的结合,可以极大地提高R人的工作效率。

这学期的生物统计学作业老师要求用R来做,同时建议用knitr来生成作业报告,然后再提交到助教邮箱。我觉得其实还有更简单的办法。knitr生成的报告可以直接发布在RPubs这个网站,只需要我们每个人创建一个账号,助教记下我们的个人RPub地址就可以了。这样就省了发邮件上传下载附件的麻烦。比如我的RPubs主页就在这里,里面的作业是我在RStudio里用knitr直接发布上去的。

Comments

Dong: knitr是不错,一直在用。

发表于
分类 学无止境  标签 R  统计学  knitr