2017-06-22 20:39:01
```{r, <选项1>=..., <选项2>=..., ....}<代码块>```
支持12类选项:
eval: (TRUE; 逻辑型)eval=TRUE:
summary(cars)
## speed dist ## Min. : 4.0 Min. : 2.00 ## 1st Qu.:12.0 1st Qu.: 26.00 ## Median :15.0 Median : 36.00 ## Mean :15.4 Mean : 42.98 ## 3rd Qu.:19.0 3rd Qu.: 56.00 ## Max. :25.0 Max. :120.00
eval=FALSE:
summary(cars)
echo: (TRUE; 逻辑型或数值型) 是否打印源代码,或从第几行开始打印源代码results: ('markup'; 文本型) 取值包括
collapse: (FALSE; 逻辑型,仅限markdown结果) 是否把代码和结果输出到同一个文本块warning: (TRUE; 逻辑型) 是否输出警告信息error: (TRUE; 逻辑型) 是否输出错误信息message: (TRUE; 逻辑型) 是否输出提示信息split: (FALSE; 逻辑型) 是否将输出结果分割到不同文件,仅限.Rnw, .Rtex, 和 .Rhtmlinclude: (TRUE; 逻辑型) 结果是否输出到结果文档strip.white: (TRUE; 逻辑型) 是否移除源代码块首尾空行class.output: (NULL; 文本型) 添加可以和css联用的class类型,对于HTML较实用tidy: (FALSE; 逻辑型) 是否使用formatR::tidy_source()整理代码
tidy.opts: (NULL; list) tidy.source()列表参数,如tidy.opts=list(blank=FALSE, width.cutoff=60)prompt: (FALSE; 逻辑型) 是否加提示符comment: ('##'; 文本型) 输出源代码时,行前添加的前缀符highlight: (TRUE; 逻辑型) 是否高亮显示代码size: ('normalsize'; 文本型) 默认LaTeX输出的字号background: ('#F7F7F7'; 文本型或数值型) LaTeX输出的代码块背景色class.source: (NULL; 文本型) 添加可以和css联用的class类型,对于HTML较实用cache: (FALSE; 逻辑型) 是否缓存代码块结果,如设定缓存,仅当结果变化时才重新求解cache.path: ('cache/'; 文本型) 缓存文件的前缀名(默认存在工作目录下的cache文件夹内)cache.vars: (NULL) 变量名向量,规定哪些变量存入缓存数据库。NULL时,所有变量都存cache.globals: (NULL) 不是由当前代码块产生的变量名向量cache.lazy: (TRUE) lazyLoad()还是直接load()对象cache.comments: (NULL) 如设为FALSE,修改代码块内的注释不会令缓存失效cache.rebuild: (FALSE`) 如设为TRUE,强制重建该代码块的缓存dependson: (NULL; 文本型或数值型) 代码块标题向量,指定本代码块依赖于哪些其他代码块
dependson为数值向量,则表示代码块序号。dependson=c(-1, -2)表示前两个代码块autodep: (FALSE; 逻辑型) 是否自动找出依赖代码块fig.path: ('figure/'; 文本型) 作图文件名前缀,可以是一个路径fig.keep: ('high'; 文本型) 代码块内的图如何保留,有5种选择:
fig.show: ('asis'; 文本型) 如何显示/安排这些图,有4种选择:
dev: (LaTeX输出为'pdf', HTML/markdown输出为'png'; 文本型) 指定作图设备,包括R基础作图设备及Cairo、cairoDevice、tikzDevice包中的设备dev.args: (NULL) 传递给作图设备的参数,如dev.args=list(bg='yellow', pointsize=10)fig.ext: (NULL; 文本型) 图形输出文件扩展名dpi: (72; 数值型) 位图设备分辨率DPI,(dpi * inches = pixels)fig.width, fig.height: (均为7; 数值型) 图宽和图高,单位为英寸fig.asp: (NULL; 数值型) 图形高宽比,一旦锁定,图高自动适配out.width, out.height: (NULL; 文本型) 最终输出文件中的图宽及图高,单位可多样out.extra: (NULL; 文本型) 图形的额外选项,如LaTeX中out.extra='angle=90'会将图翻转90度fig.retina: (1; 数值型) 仅用于HTML输出,对于视网膜屏,该代码块的dpi会被改为dpi * fig.retina,out.width改为fig.width * dpi / fig.retinaresize.width, resize.height: (NULL; 文本型) LaTeX中的用到的的宽和高fig.align: ('default'; 文本型) 输出文档中图的对齐方式 (可以是left, right或center)fig.env: ('figure') 作图的LaTeX环境, 如设fig.env='marginfigure'得到\begin{marginfigure}fig.cap: (NULL; 文本型) 在LaTeX中,作图环境所用的图标题fig.scap: (NULL; 文本型) 短标题fig.lp: ('fig:'; 文本型) 图标题前缀,用于\label{}fig.pos: (''; 文本型) 图的位置,用于\begin{figure}[fig.pos]fig.subcap: (NULL) 子图的标题fig.process: (NULL) 用于后处理图文件的函数fig.showtext: (NULL) 如TRUE,作图前调用showtext::showtext.begin()external: (TRUE; 逻辑型) 是否外部化tikz设备 (将tikz设备预编译为PDF)sanitize: (FALSE; 文本型) 是否清理tikz设备 (转义特殊的LaTeX字符)interval: (1; 数值型) 动画框之间暂停的秒数aniopts: ('controls,loop') 动画的额外选项ffmpeg.bitrate (1M; 文本型) 传递给FFmpeg的-b:v参数,控制FFmpeg创建的WebM视频质量ffmpeg.format (webm; 文本型) FFmpeg视频格式,即视频文件扩展名code: (NULL; 文本型) 如提供,则覆写当前代码块的代码ref.label: (NULL; 文本型) 代码块标题构成的文本向量,当前代码块将从这些代码块继承代码child: (NULL; 文本型) 子文档文件名构成的文本向量,如指定,则引入这些文档,运行并将结果插入主文档engine: ('R'; 文本型) 当前代码块的程序语言名称,目前可用'R'、'python'、'awk'/'gawk',对象knit_engines可用于设置其他语言的引擎engine.path (NULL; 文本型): 引擎可执行程序的路径,该选项允许你使用系统中其他版本的可执行程序
engine.path也可以是一个路径列表,为多个引擎设定多个路径,如knitr::opts_chunk$set(engine.path = list( python = '~/anaconda/bin//python', ruby = '/usr/local/bin/ruby' ))
opts.label: (NULL; 文本型) the label of options set in opts_template设定的选项标签,可用来保存一些常用的代码块选项purl: (TRUE; 逻辑型) 运行purl()从源文档提取源代码时,纳入还是排除代码块R.options: (NULL) 代码块的本地R选项,它们是临时性的options()可通过opts_knit修改,如
opts_knit$set(progress = TRUE, verbose = TRUE)
r setup,其中就包括了几个常用的全局选项animation.fun: (hook_ffmpeg_html) 在HTML输出中创建动画的钩子函数,默认用FFmpeg将图片转为MP4视频aliases: (NULL) 命名的文本向量,指定代码块选项的别称,如c(h = 'fig.height', w = 'fig.width')将fig.height简称为h,fig.width简称为w,懒人必备base.dir: (NULL) 生成图形的绝对路径base.url: (NULL) HTML页面的基础URLchild.path: ('') 子文档的搜索路径,默认从父文档所在路径开始找concordance: (FALSE) 是否产生一个同步文件匹配输出行号与输入行号eval.after: (fig.cap) 选项名组成的文本向量,被指定的选项将在代码块求解之后再求解 (如指定eval.after='fig.cap',则将在求解完代码块,得到x的取值后,再求解fig.cap=paste('p-value is', t.test(x)$p.value)global.par: (FALSE) 如TRUE,前个代码块的par()选项会被应用到下个代码块header: 当文档开始前,被插入到输出文档的文字 (如LaTeX中 \documentclass{article} 之后,或HTML中<head>之后)latex.options.color, latex.options.graphicx (NULL): 分别是LaTeX包color和graphicx的选项out.format: (NULL) 可以是'latex', 'sweave', 'html', 'markdown'和'jekyll'progress: (TRUE) 运行knitr时是否显示进度条root.dir: (NULL) 求解代码块时的根目录,如NULL,则为该文档所在目录self.contained: (TRUE) 输出文档是否打包为单个文件(TeX styles写入tex文档,CSS样式写入HTML文档)unnamed.chunk.label: (unnamed-chunk) 未命名代码块的标题前缀,默认为"unnamed-chunk"upload.fun: (identity) 以文件名为输入参数的函数,输出格式为HTML或Markdown时运行返回一个字符串verbose: (FALSE) 是否显示详细信息 (如各代码块的R代码和提示信息),默认只打印代码块标题和选项width: (75) 设置R进程选项宽度source()引入knitr::kable直接输出
with(mtcars, table(gear, carb))
## carb ## gear 1 2 3 4 6 8 ## 3 3 4 3 5 0 0 ## 4 4 4 0 4 0 0 ## 5 0 2 0 1 1 1
装裱数据框
knitr::kable(with(mtcars, table(gear, carb)),
align="llccrr")
| 1 | 2 | 3 | 4 | 6 | 8 | |
|---|---|---|---|---|---|---|
| 3 | 3 | 4 | 3 | 5 | 0 | 0 |
| 4 | 4 | 4 | 0 | 4 | 0 | 0 |
| 5 | 0 | 2 | 0 | 1 | 1 | 1 |
xtable默认LaTeX,knitr可自动适配为tibble
library(xtable) with(mtcars, xtable(table(gear, carb)))
如使用print(),代码块results设为'asis'
x <- with(mtcars, xtable(table(gear, carb))) print(x, type="html")
| 1 | 2 | 3 | 4 | 6 | 8 | |
|---|---|---|---|---|---|---|
| 3 | 3 | 4 | 3 | 5 | 0 | 0 |
| 4 | 4 | 4 | 0 | 4 | 0 | 0 |
| 5 | 0 | 2 | 0 | 1 | 1 | 1 |
stargazer纯文本输出
library(stargazer) stargazer(iris, type="text")
=========================================== Statistic N Mean St. Dev. Min Max ------------------------------------------- Sepal.Length 150 5.843 0.828 4.300 7.900 Sepal.Width 150 3.057 0.436 2.000 4.400 Petal.Length 150 3.758 1.765 1.000 6.900 Petal.Width 150 1.199 0.762 0.100 2.500 -------------------------------------------
HTML输出
stargazer(iris, type="html",
title="Table: iris dataset")
| Statistic | N | Mean | St. Dev. | Min | Max |
| Sepal.Length | 150 | 5.843 | 0.828 | 4.300 | 7.900 |
| Sepal.Width | 150 | 3.057 | 0.436 | 2.000 | 4.400 |
| Petal.Length | 150 | 3.758 | 1.765 | 1.000 | 6.900 |
| Petal.Width | 150 | 1.199 | 0.762 | 0.100 | 2.500 |
knit_hooks对象设定source, output, warning, message, error, plot, inline, chunck, document代码块钩子函数的基本格式
knit_hooks$set(foo_hook = function(before, options, envir) {
if (before) {
## code to be run before a chunk
} else {
## code to be run after a chunk
}
})
before参数library(knitr)
knit_hooks$set(foo1 = function(before, options, envir){
if (before) {
paste("<p style='color:red; text-align:center; font-style:italic'>-------I appear <b>before</b>",
"a chunk!-------</p>")
} else {
paste("<p style='color:blue; text-align:center; font-style:italic'>-------I appear <b>after</b>",
"a chunk!-------</p>")
}
})
代码段选项列表中要设置该函数 ({r, ..., foo1=任何非NULL值})
——-I appear before a chunk!——-
invisible(1+1)
——-I appear after a chunk!——-
optionsknit_hooks$set(foo2 = function(before, options, envir){
if (!before) {
paste("<p style='color:red'>fig.width of the above chunk: ",
options$fig.width, "<br>fig.height of the above chunk: ",
options$fig.height, "</p>")
}
})
invisible(1+1)
fig.width of the above chunk: 8
fig.height of the above chunk: 5.5
envirknit_hooks$set(foo3 = function(before, options, envir) {
if (!before) {
paste("Objects available in the above chunk:", paste("`", ls(envir),
"`", sep = "", collapse = ", "))
}
})
x1 <- 1 y1 <- x1^2 rm(x1)
Objects available in the above chunk: x, y1
knit_hooks$set(warning = function(x, options) {
paste("<p style='color:firebrick'><b>Alarm!</b></p>", "<p style='color:red'>",
x, "</p>", "<p><i>warning option of the above chunk:",
options$warning, "</i></p>", collapse="<br>")
})
sqrt(-1)
Alarm!
## Warning in sqrt(-1): 产生了NaNs
warning option of the above chunk: TRUE
## [1] NaN



========,下面可加配置参数
***指定位置

<用户名>.github.io的仓库,用作博客
install_hugo() 安装Hugoinstall_theme() 从GitHub安装博客主题new_site() 创建新网站new_content() 在工作目录创建新文档build_site() 利用Hugo编译所有.rmd文档serve_site() 本地预览静态网站
Thank you!