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

by 扬眉剑 来自数盟【总舵】 群:321311420

1.相关资料

我的学习都是从以上三个资源中获取。所以特意在文件夹中把1,2转换为PDF, 希望大家仔细阅读。

文件夹中还有一个knitr-refcard.pdf,里面包括了一些常用的参数

2.环境

我们需要的是安装过knitr包的RStudio。然后在Tools-option-Sweave-weave Rnw files using -选择knitr (操作演示),新建一个test.Rmd然后后面的内容都在其中示范。

3.1 Markdown 是什么,如何写Markdown

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

  • how are you 斜体
  • how are you 加粗

具体的语法看文件夹中的 Markdown语法说明(简体中文版)

3.2 在Markdown中写R代码

首先我们要新建一个Rmd的文件,或者在File-new file-R markdown,新建一个Rmd的文件。操作 Markdown中的R语言的代码是三个后引号(也就是在键盘左上角,Esc下面的那个键)然后后面加上{r}开始,{r,} 大括号中,r字母后面可以加入不同的参数。然后以三个后引号结束。当然都是在英文状态下输入的。

a = 1:10  #**代码的运行** Run 或者Ctrl+Enter
b = 11:20
a #代码的注释用#号开头
##  [1]  1  2  3  4  5  6  7  8  9 10

3.3 是否计算代码块参数 eval

是否计算代码块中内容的选项。 两个选项:TURE或者FALSE

# ```{r,eval=FALSE}
a
##  [1]  1  2  3  4  5  6  7  8  9 10
b
##  [1] 11 12 13 14 15 16 17 18 19 20

eval是计算代码块中的内容。当eval=TRUE,计算,所以会在html中会显示代码运行的结果,反之,不计算,不显示。

还可以是数字选项,我们看一下下面两段代码的区别

## # ```{r,eval=C(1)} ```{r,eval=-c(1)} #前面加一个负号,表示排除的意思
a
##  [1]  1  2  3  4  5  6  7  8  9 10
## b

也就是可以用eval=c()来控制那些行代码运行,那些不运行。

3.4 文本输出相关参数

echo 两个选项:TRUE或FALSE,或者是数字,用来控制那些行输出,那些行不输出。

# ```{r,echo=FALSE} ```{r,echo=c(1)} ```{r,echo=-c(1)}
a
##  [1]  1  2  3  4  5  6  7  8  9 10
b
##  [1] 11 12 13 14 15 16 17 18 19 20

对比上面两个的结果,我们可以看出,echo是控制代码输出的,但echo=TRUE的时候,在html中是输出代码的,当echo=FALSE的时候是不输出代码的。 warnings
error
message

以上都有两个选项,也就是假如代码中有警告的信息,报错的信息,或者其他的信息,在 最后的报告中是否显示,TURE是显示,FALSE是不显示。

3.5 代码修饰参数

3.5.1 tidy

# ```{r,tidy=FALSE} 首先安装formatR这个包 install.packages('formatR')
a = 100
b = 100

这里还有一个tidy.opts

# ```{r,tidy.opts=list(keep.blank.line=FALSE)}
a = 100
b = 100

3.5.2 prompt

这个就是是否显示在R默认窗口中的>, 一般来说,FALSE是默认选项。没人希望在每一行都输出>

# ```{r,prompt=TRUE}
a
## [1] 100

3.5.3 comment

默认情况下我们生成HTML格式的文件,所有的运行结果前面都有两个##号(演示)

在这里我们可以通过comment选项改变,当然这里一般不用改变,没有什么意义。前面是#号,可以在我们复制代码的时候, 这里的结果不会被运行。

a
~~~~ [1] 100

3.5.4 highlight 代码高亮选项

我没有发现什么变化,大家自己探索一下。

# ```{r,highlight=FALSE} install.packages('highlight')
data = c("1", "2")
for (i in a) {
c = i
}

3.6 缓存参数 cache

cache是代码块计算得到的缓存,可以是True也可以是False。默认为False,也就是每一次生成knit HTML,都会重新计算里面的每一个代码块。但是如果我们的代码非常的复杂。如果我们不希望每一次都重新运行,所有的代码块,那么我们可以设置cache为TRUE。 也就是,当代码块第一次运行的时候会把结果保存下来,然后当我们生成HTML的时候,就不用再重新计算,而是直接把前面保存的结果哪里,当程序复杂度高的时候,这个会节约 一定的时间。

3.7 Plot 作图参数

3.7.1 fig.width fig.height

# ```{r,prompt=TRUE}
a
## [1] 100

3.7.2 fig.show = 'asis' 'hold' 'animate' 'hide'

  • asis:表示在哪里生成就在哪里显示
  • hold:的意思是把图片放到代码块以后
  • animate: 如果代码块中有生成几幅图片,可以将几张图片生成动画。

用animate的要点是首先要安装:animation包。 然后http://ffmpeg.zeranoe.com/builds/ 从这里下载你需要的ffmpeg,然后直接解压到当前文件夹,比如我解压以后,重命名为ffmpeg,然后放到c:\Program Files\
然后把C:\Program Files\ffmpeg\bin放入环境变量。 然后这个选项就可以用了。

1: 由于ffmpeg的最新版本出来的动画,不一定在所有的浏览器都能播放,所以我在文件中放了一个ffmpeg.exe 这个是11年的版本, 用起来没有问题。

2:还有一个问题就是,如果你安装过其他的软件,里面自带的ffmpeg.exe,那么可能你的路径中的ffmpeg就不起作用了,查看ffmpeg位置 的命令行:Sys.which(“ffmpeg”),这样可以查看当前使用的ffmpeg是在什么地方。

3:然后提供一个最简单的办法,直接讲我的文件夹中的ffmpeg扔到system32文件夹中就没有任何问题了,也不用配置路径了。

4:关于并行图片生成的顺序,非循环方式生成图片顺序问题,待验证

当生成动画的时候还有一个参数interval=2 可以设置两个图片之间的间隔。

所有参数都在网站有详细的解释,我也有可以有理解不对的地方,欢迎大家指正。谢谢。 http://yihui.name/knitr/options

4.行内代码

我们如果想在行文中直接嵌入R的代码也非常的方便,是以后引号加r开头,然后后引号结尾。比如400。 非常的方便。

5.生成HTML

6.写Latex

7.致谢

最应该感谢的当然是包的制作者-谢益辉,然后RStudio也是很不错的。 同时,本文还参考了魏太云的PPT,同样非常感谢。在文件夹中一并附上。请大家自行参考。

R语言-Knitr包的详细使用说明的更多相关文章

  1. R语言dplyr包初探

    昨天学了一下R语言dplyr包,处理数据框还是很好用的.记录一下免得我忘记了... 先写一篇入门的,以后有空再写一篇详细的用法. #dplyr learning library(dplyr) #fil ...

  2. R语言-神经网络包RSNNS

    code{white-space: pre;} pre:not([class]) { background-color: white; }if (window.hljs && docu ...

  3. R语言 ggplot2包

    R语言  ggplot2包的学习   分析数据要做的第一件事情,就是观察它.对于每个变量,哪些值是最常见的?值域是大是小?是否有异常观测? ggplot2图形之基本语法: ggplot2的核心理念是将 ...

  4. R语言扩展包dplyr——数据清洗和整理

    R语言扩展包dplyr——数据清洗和整理 标签: 数据R语言数据清洗数据整理 2015-01-22 18:04 7357人阅读 评论(0) 收藏 举报  分类: R Programming(11)  ...

  5. 安装R语言的包的方法

    安装R语言的包的方法: 1. 在线安装 在R的控制台,输入类似install.packages("TSA")  # 安装 TSA install.packages("TS ...

  6. R语言扩展包dplyr笔记

    引言 2014年刚到, 就在 Feedly 订阅里看到 RStudio Blog 介绍 dplyr 包已发布 (Introducing dplyr), 此包将原本 plyr 包中的 ddply() 等 ...

  7. R语言 arules包 apriori()函数中文帮助文档(中英文对照)

    apriori(arules) apriori()所属R语言包:arules                                         Mining Associations w ...

  8. R语言kohonen包主要函数介绍

    最近准备写一篇关于自组织映射 (Self-organizing map)的文章.SOM的代码很多,研究了一圈之后目前使用最顺手的是R语言的kohonen包. 这个kohonen包功能很丰富,但是接口不 ...

  9. Bagging(R语言实现)—包外错误率,多样性测度

    1.      Bagging Bagging即套袋法,其算法过程如下: 从原始样本集中抽取训练集.每轮从原始样本集中使用Bootstraping的方法抽取n个训练样本(在训练集中,有些样本可能被多次 ...

随机推荐

  1. 编译GNU Global

    GNU Global是一套界面更友好的tag系统,但是因为其支持的语言太少,现在一般使用其为前端,后端一般使用最新的Universal Ctags. 编译办法如下: 1.去GNU Project ht ...

  2. WordPress 3.8.1 /xmlrpc.php拒绝服务漏洞

    漏洞版本: WordPress 3.8.1 漏洞描述: WordPress是一款内容管理系统. WordPress 3.8.1 /xmlrpc.php 文件有ping其他主机的功能,通过这个功能可以请 ...

  3. HAOI2006受欢迎的牛

    求出强联通分量之后判断出度为0的点有几个,有1个就输出这个分量的点的数目,否则输出0: var i,j,n,m,x,y,ans1,ans2,t,cnt,top:longint; head,next,g ...

  4. ORACLE DATAGURARD配置手记

    经过多次实践,参阅网上N多文章……最后还是配不成,可能本人悟性太低,无法体会高手的笔记.最终还是在前辈的帮助下完成.特用最平实的手法记录下来,以便如吾辈菜鸟能 看得懂. 运行Data Guard的条件 ...

  5. JDBC基础教程

    本文实例讲述了JDBC基础知识与技巧.分享给大家供大家参考.具体分析如下: 1.什么是JDBC? 通俗来讲JDBC技术就是通过java程序来发送SQL语句到数据库,数据库收到SQL语句后执行,把结果返 ...

  6. Android学习系列(23)--App主界面实现

    在上篇文章<Android学习系列(22)--App主界面比较>中我们浅略的分析了几个主界面布局,选了一个最大众化的经典布局.今天我们就这个经典布局,用代码具体的实现它. 1.预览图先看下 ...

  7. 黑盒测试用例设计方法&理论联系实际-> 功能图法

    一. 概念 功能图由状态迁移图和布尔函数组成.状态迁移图用状态和迁移来描述.一个状态指出数据输入的位置(或时间),而迁移则指明状态的改变.同时要依靠判定表或因果图表示的逻辑功能.例,一个简化的自动出纳 ...

  8. 【译】 AWK教程指南 11递归程序

    awk 中除了函数的参数列表(Argument List)上的参数(Arguments)外,所有变量不管于何处出现,全被视为全局变量.其生命持续至程序结束——该变量不论在function外或 func ...

  9. zabbix监控域名带宽

    代码地址:https://github.com/Ma-Jing/python/blob/master/ngxv2_traffic_daemon.py READ.md里有使用说明! #!/usr/bin ...

  10. NOIP2011 观光公交

    3.观光公交 (bus.cpp/c/pas) 风景迷人的小城 Y 市,拥有 n 个美丽的景点.由于慕名而来的游客越来越多,Y 市特 意安排了一辆观光公交车,为游客提供更便捷的交通服务.观光公交车在第 ...