R语言自动化报告格式——knitr[1]
一、背景2
1、文学化编程也是编程2
2、Markdown 是什么,如何写 Markdown[]3
二、创建knitr文档4
三、相关代码——文本输出[]5
[1] knitr官网 /knitr/在官网中有谢益辉自己录制的一段英文的讲解视频
R语言自动化报告格式——knitr
一、背景
在 R的世界里 ,凡是提到自动化报告 ,很多人就会想到Sweave ,它已经诞生十几年了。
它的主要设计思想来自于文学化编程 (LiterateProgramming),这是 Knuth大神提出来
的一种编程范式,它与传统的结构化编程不同。
knitr(发音为 :nit-ter)是由纯文本 (就像你正在阅读的) 和 R代码交织在一起的文档文
件. 用作者的话来说就是 :“knitr 是一头灵活 ,快速的大象!” 你可能正在想……这玩意和
数据挖掘有什么必然的关系呢? 使用 knitr去学习数据挖掘乍看起来是一个奇怪的搭配,
但确实是一条很好的学习途径。
有三个方面的原因: 这是学习 R完美的途径。不一定每个人都是这样做的,但是knitr
能让你运用学到的东西以及建立一个可重复生成报告的文件。 Knitr和 RStudio集成是快
速生成报告的最佳组合。简单地说,报告中有文字也有代码,Knitr就是通过 markdown
的语法在报告中该显示代码的地方显示代码 ,该显示运行结果(比如图表)的地方显示运行
结果 ,这样整个报告文档就可以直接运行再次生成报告 ,而不需要把代码单独复制到控制台
中执行,然后再把执行结果添加到文档中。
1、文学化编程也是编程
文学化编程(LiterateProgramming)是整个设计的核心思想,但过去的模式局限在
“代码+文档”的简单模型上,knitr使得一份文档变得可编程。
[2]
2、Markdown 是什么,如何写 Markdown[3]
Markdown 是一种轻量级标记语言。类似 HTML,但是比html简单的多,我在文件
夹中放了一个markdown的语法说明。 大家具体可以用一段时间学会。我们这里知道这
么几点就可以了。标题,一个#后面跟一个空格代表一级标题,2个## 后面跟一个空格
表二级标题。
1. howareyou斜体
2. howareyou加粗
[2] knitr与可重复的统计研究(花絮
篇) /2012/06/reproducible-research-with-knitr/
[3] /art/2373113
二、创建knitr文档
不要停下来!通过以下 5步,你就可以创建自己的第一个knitr文档:
打开 RStudio, 点击 File >New File >R Markdown…创建一个新的 R Markdown
文件
为这个文件起一个有意义的名字。
点击OK.
删除第二个""之后出现的文字
点击 KnitHTML.
你的 RMarkdown代码应该像下面这样:
title: "YourTitle"
output: html_document
在 “knitting”你的文件后, 你应该会在查看器窗格看到下面的文字:
恭喜你! 你已经成功创建了第一个 knitr文件!
三、相关代码——文本输出[4]
在文本输出方面,knitr包支持以下功能:
代码高亮(highlight=TRUE),增强可读性 ,有无数的高亮主题可选 ,仅适用于 LaTeX
和 HTML输出,MD文档在转为HTML文档之后可以用专门的JavaScript库去高亮代码
代码重排(tidy=TRUE ),对那些不注意代码格式的人来说很有用,再乱的代码,到
了这里也会变得相对整齐,本功能由formatR包支持
执行或不执行代码(eval=TRUE/FALSE),不执行的代码段将被跳过,原样输出源
码
显示/隐藏源代码(echo=TRUE/FALSE),甚至精确控制显示哪几段代码(echo取数
值)
显示/隐藏普通文本输出或将文本输出以原样形式输出(results='markup', 'hide',
'asis')
显示/隐藏警告文本(warning=TRUE/FALSE )、错误消息(error )和普通消息
[4] 谢益辉《自动化报告》/yihui/r-ninja/blob/master/