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

相关文献:

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

资讯 | R Notebooks 即将发布

------------------------------------------------------------------------

一、背景

在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),比如我们可能想运行代码,但不把结果写入输出中

R语言自动化报告格式——knitr的更多相关文章

  1. Rmarkdown用法与R语言动态报告

    Rmarkdown用法与R语言动态报告数据分析用R语言非常便捷,因为R语言的社区强大,并且在不断更新和完善,提供了各种分析利器.Knitr和Rmarkdown包则是数据分析中的动态报告利器. 下面是一 ...

  2. R语言- 实验报告 - 利用R语言脚本与Java相互调用

    一. 实训内容 利用R语言对Java项目程序进行调用,本实验包括利用R语言对java的.java文件进行编译和执行输出. 在Java中调用R语言程序.本实验通过eclipse编写Java程序的方式,调 ...

  3. R语言自动化

    plyr dplyr reshape2(数据整理) boxplot.stats(异常值检测) ggplot2(可视化) knitr(生成报告)

  4. R语言中文社区历史文章整理(类型篇)

    R语言中文社区历史文章整理(类型篇)   R包: R语言交互式绘制杭州市地图:leafletCN包简介 clickpaste包介绍 igraph包快速上手 jiebaR,从入门到喜欢 Catterpl ...

  5. R语言-Knitr包的详细使用说明

    R语言-Knitr包的详细使用说明 by 扬眉剑 来自数盟[总舵] 群:321311420 1.相关资料 1:自动化报告-谢益辉 https://github.com/yihui/r-ninja/bl ...

  6. R语言XML格式数据导入与处理

    数据解析 XML是一种可扩展标记语言,它被设计用来传输和存储数据.XML是各种应用程序之间进行数据传输的最常用的工具.它与Access,Oracle和SQL Server等数据库不同,数据库提供了更强 ...

  7. R语言与格式、日期格式、格式转化

    每每以为攀得众山小,可.每每又切实来到起点,大牛们,缓缓脚步来俺笔记葩分享一下吧,please~ --------------------------- R语言的基础包中提供了两种类型的时间数据,一类 ...

  8. 数据分析和R语言的那点事儿_1

    最近遇到一些程序员同学向我了解R语言,有些更是想转行做数据分析,故开始学习R或者Python之类的语言.在有其他编程语言的背景下,学习R的语法的确是一件十分简单的事.霸特,如果以为仅仅是这样的话那就图 ...

  9. RStudio:R语言编辑器

    RStudio:R语言编辑器 四窗口 左上:写代码,运行的方式是ctrl+Enter,或者用Run按钮 10 + 15 ## [1] 25 左下:终端,上面窗口的代码运行后会在这里显示,也可以直接在这 ...

随机推荐

  1. linux 文件名称前后缀操作函数----取目录函数dir、取文件名称函数notdir、取后缀函数suffix、取前缀basename、加后缀函数addsuffix、加前缀addprefix、连接函数join

    1.1       文件名操作函数 下面我们要介绍的函数主要是处理文件名的.每个函数的参数字符串都会被当做一个或是一系列的文件名来对待. 1.1.1        取目录函数dir $(dir < ...

  2. git修改最后一次commit的内容

    提交修改 $ git add test.txt $ git commit -m "提交test.txt文件" 修改注释说明 如果需要修改commit的注释说明,则执行以下命令: $ ...

  3. BZOJ 1115: [POI2009]石子游戏Kam [阶梯NIM]

    传送门 有N堆石子,除了第一堆外,每堆石子个数都不少于前一堆的石子个数.两人轮流操作每次操作可以从一堆石子中移走任意多石子,但是要保证操作后仍然满足初始时的条件谁没有石子可移时输掉游戏.问先手是否必胜 ...

  4. 自用lca模板

    人丑常数大,总是卡在1000多ms... #include <cstdio> #include <cstring> #include <iostream> #def ...

  5. VUE 2.0 引入高德地图,自行封装组件

    1. 高德地图官网 申请帐号, 申请相应(JavaScript API)的 Key 2. 在项目中引入, 这里和其他的引入不同的是 直接在 index.html, 不是在 main.js 引入, 博主 ...

  6. 小甲鱼OD学习第3讲

    这次我们的任务是破解这个过期的软件,效果如图所示 我们通过阅读代码,知道这个程序的执行流程如图中注释所示 观看下图注释所示 这是失败的提示代码 这是成功的提示代码 最后我们可以得出结论,成功破解软件的 ...

  7. ZooKeeper简介与集群部署

    ZooKeeper 是一个开源的分布式协调服务,由雅虎公司创建,是Google Chubby的开源实现,ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的 ...

  8. 零基础2018如何系统地学习python?

    首先告诉你的是,零基础学习开始系统学习Python肯定难,Python的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真 ...

  9. Centos 7系统优化脚本

    脚本如下,后续继续优化 #!/bin/bash #author junxi by #this script is only for CentOS 7.x #check the OS platform= ...

  10. NGUI的新手引导的实现

    先声明一下,UNITY新手,如果说的有不对的地方,欢迎各位大神指正. 最近在项目需要实现新手引导,最基础的需求就是需要一个带黑色遮罩的引导UI,类似下图这种: 对,就是这么敷衍的UI,因为是我随手做的 ...