2.4.2 代码
R Markdown 中,R代码有两种使用方式: 行内代码和代码块。
行内代码(inline code):位于一对反引号内部,以r开头,空一格,后面是R的表达式。行内代码可实现在 Markdown文本书写的同时嵌入代码并运行结果。
R代码块(chunk):以三个反引号加{r}开始,再以三个反引号结束,作者可以在源文档中插入任意个代码块,代码块单独成段,文档渲染后代码运行结果显示在代码块后。代码块选项(chunk options)用来控制单个代码块的运行细节。
代码块选项设置:{r 代码名称, 代码块选项}
给代码块命名的好处是:可在导航栏按名字浏览代码块,让代码生成的图形有意义地命名,避免在缓存中重复计算。
常见代码块选项及参数:
• eval = FALSE:默认TRUE,当FALSE,只显示代码,不运行代码。
• echo = FALSE:默认TRUE,当FALSE,不显示代码,只显示运行结果。
• include = FALSE:运行代码,不显示代码和运行结果,include = FALSE 等价于 echo = FALSE 和 results = ‘hide’。
• collapse = TRUE:代码块结果放在一个文本块。
• results = “hide”:隐藏输出结果;选项results=选择文本型结果的类型。
makeup:默认选项,会把文本型结果变成HTML的原样文本格式;
hide:隐藏代码块的运行结果。results = ‘hide’ 加上 echo = FALSE 等价于 include = FALSE。
hold:一个代码块所有代码都显示完,才显示所有结果;
asis:文本型输出直接进入到HTML文件中,这需要R代码直接生成HTML标签,knitr包的kable()函数可以把数据框转换为HTML代码的表格。
其他设置:
• tidy = TRUE:整洁代码格式。
• message = FALSE:不输出提示信息,比如包的载入信息。
• warning = FALSE:不输出警告。
• error = TRUE:忽略错误,继续编译文档。
• cache = TRUE:缓存运行结果,能加速后续再编译。
如果代码块涉及复杂的计算,cache=TRUE可以让knitr把运行结果保存为.rds文件,并在下次编译时略过计算过程,直接读取 .rds 节省时间。只有代码块的内容发生变化时,knitr 才会重新计算并更新 .rds 文件。有时 knitr 的缓存机制会让人难以预测代码是否重新运行,只推荐必要时使用。
• fig.width, fig.height, fig.align, fig.cap:设置输出图形的宽和高(英寸)、对齐、标题。• out.width, out.height:设置输出图形的宽和高(百分比)。
全局设置若markdown内的代码块存在⼀样的参数设置,则可以提前设计好全局的代码块参数。全局代码块通过knitr::opts_chunk$set函数进行设置,⼀般设置在YAML文件下方。
knitr::opts_chunk$set(代码块选项)
参考文献
[1] Rmarkdown中文指南,https://cosname.github.io/rmarkdown-guide/rmarkdown-base.html#install-rmarkdown
[2] RMarkdown入门教程,庄亮亮,https://cosx.org/2021/04/rmarkdown-introduction
本文使用 文章同步助手 同步