搜索
人大经济论坛 附件下载

附件下载

所在主题:
文件名:  Dynamic Documents with R and knitr (2nd ed.) [Xie 2015-07-06].pdf
资料下载链接地址: https://bbs.pinggu.org/a-1888036.html
附件大小:

R语言自动化报告格式——knitr



一、背景




在R的世界里,凡是提到自动化报告,很多人就会想到Sweave,它已经诞生十几年了。它的主要设计思想来自于文学化编程(Literate Programming),这是Knuth大神提出来的一种编程范式,它与传统的结构化编程不同。


knitr (发音为:nit-ter)是由纯文本 (就像你正在阅读的) 和R代码交织在一起的文档文件. 用作者的话来说就是:“knitr 是一头灵活,快速的大象!” 你可能正在想……这玩意和数据挖掘有什么必然的关系呢? 使用knitr去学习数据挖掘乍看起来是一个奇怪的搭配,但确实是一条很好的学习途径。


有三个方面的原因: 这是学习R完美的途径。不一定每个人都是这样做的,但是knitr能让你运用学到的东西以及建立一个可重复生成报告的文件。 Knitr和RStudio集成是快速生成报告的最佳组合。简单地说,报告中有文字也有代码,Knitr就是通过markdown的语法在报告中该显示代码的地方显示代码,该显示运行结果(比如图表)的地方显示运行结果,这样整个报告文档就可以直接运行再次生成报告,而不需要把代码单独复制到控制台中执行,然后再把执行结果添加到文档中。


1、文学化编程也是编程


文学化编程(Literate Programming)是整个设计的核心思想,但过去的模式局限在“代码+文档”的简单模型上,knitr使得一份文档变得可编程。



2、Markdown 是什么,如何写Markdown


Markdown 是一种轻量级标记语言。类似HTML,但是比html简单的多,我在文件夹中放了一个markdown的语法说明。 大家具体可以用一段时间学会。我们这里知道这么几点就可以了。标题,一个#后面跟一个空格代表一级标题,2个## 后面跟一个空格代表二级标题。


1. how are you 斜体

2. how are you 加粗





二、创建knitr文档




不要停下来! 通过以下5步,你就可以创建自己的第一个knitr文档:

l 打开 RStudio, 点击File > New File > R Markdown…创建一个新的R Markdown 文件

l 为这个文件起一个有意义的名字。

l 点击OK.

l 删除第二个"---"之后出现的文字

l 点击Knit HTML.

l 你的R Markdown代码应该像下面这样:


---



title: "Your Title"


output: html_document

---


在“knitting”你的文件后, 你应该会在查看器窗格看到下面的文字:



恭喜你! 你已经成功创建了第一个knitr文件!




三、相关代码——文本输出[]




在文本输出方面,knitr包支持以下功能:


l 代码高亮(highlight=TRUE),增强可读性,有无数的高亮主题可选,仅适用于LaTeX和HTML输出,MD文档在转为HTML文档之后可以用专门的JavaScript库去高亮代码


l 代码重排(tidy=TRUE),对那些不注意代码格式的人来说很有用,再乱的代码,到了这里也会变得相对整齐,本功能由formatR包支持


l 执行或不执行代码(eval=TRUE/FALSE),不执行的代码段将被跳过,原样输出源代码


l 显示/隐藏源代码(echo=TRUE/FALSE),甚至精确控制显示哪几段代码(echo取数值)


l 显示/隐藏普通文本输出或将文本输出以原样形式输出(results='markup', 'hide', 'asis')


l 显示/隐藏警告文本(warning=TRUE/FALSE)、错误消息(error)和普通消息(message)


l 显示/隐藏整个代码段的输出(include=TRUE/FALSE),比如我们可能想运行代码,但不把结果写入输出中








    熟悉论坛请点击新手指南
下载说明
1、论坛支持迅雷和网际快车等p2p多线程软件下载,请在上面选择下载通道单击右健下载即可。
2、论坛会定期自动批量更新下载地址,所以请不要浪费时间盗链论坛资源,盗链地址会很快失效。
3、本站为非盈利性质的学术交流网站,鼓励和保护原创作品,拒绝未经版权人许可的上传行为。本站如接到版权人发出的合格侵权通知,将积极的采取必要措施;同时,本站也将在技术手段和能力范围内,履行版权保护的注意义务。
(如有侵权,欢迎举报)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

GMT+8, 2025-12-27 06:27