文章目录

  • 写在前面
  • R Markdown与R Notebook简介
  • 主要区别
  • 基本使用
    • R Markdown
    • R Notebook
  • 使用技巧
  • 参考

写在前面

最近学习R语言,在使用集成开发环境R Studio时,经常会用到两类文件,那就是R Markdown文件和R Notebook文件,作为初学者的我一开始并不太理解,虽然了解Markdown的基础语法,但在使用时还是不免困惑,二者的区别和主要用途分别是什么呢?在一段时间的使用之后,我逐渐熟悉了二者的操作,有了一些经验,下面具体说说。

环境:

Windows10

R-x64-4.0.2

R Studio 1.3.959

R Markdown与R Notebook简介

R Markdown(扩展名.Rmd)为R Studio下的一种文档格式(Document),其语法与轻量型标记语言Markdown一致,不一样的是在R Studio中除了可以进行Markdown的书写,还可以运行R代码块(chunk),使用起来比较方便,R Markdown在安装插件knitr后还可以进行PDF、Word、Html格式文件的导出,十分方便。其文件结构主要有以下三个部分,分别是

  1. YAML渲染参数:设定导出时候的一些参数,如是否添加目录,可以在齿轮图标中进行设置。
  2. Markdown标记&文本:采用Markdown语法。
  3. R语言代码块:选择Insert插入代码块,可以设定代码块的标题,以及设置是否显示warning信息等的参数。

分别对应图1中的1,2,3。

图1

R Notebook(扩展名.Rmd)类似于Python的Jupyter Notebook,或者MATLAB中的notebook文件(在新版本中已经删去了notebook文件,转而以功能更为强大的实时脚本文件mix文件代替),都是可以交互执行代码块的文件格式,其语法也沿用了Markdown的语法,所以写起来很顺手。美中不足的一点是R Notebook文件只能在IDE中运行代码,生成的Html文件只能作静态的代码展示(不过可以选择是否展开代码块)。

主要区别

R Markdown在生成PDF(Word, html)文件后会直接显示代码段的运行结果(值或图像),而R Notebook能够在HTML文件中选择是否显示代码运行得到的结果(值或图像)

这一区别使得R Markdown对于书面报告数据分析报告书面展示有更好的支持,Markdown简洁的语法和严谨的格式又使研究者更加专注于报告的内容而非格式。

R Notebook在作成果展示或课堂互动时有更好的体验,教学或展示中可以更好地利用Html文件的优势,可以使用交互式按钮选择是否显示代码块。

基本使用

R Markdown在使用时需要安装一些程序包,下面附上命令:

install.packages("rmarkdown") # 写rmarkdown必需的包
install.packages("knitr") # 导出文件必需的包
install.packages("tinytex") # TeX的轻量级发行版,用于PDF文件的导出
install.packages("rticles") # 配合中文导出PDF,有很多不同的文档模板可供使用

R Markdown

  • 文档写作

    对于R Markdown来说,由于其继承了markdown编辑器的优点,所以只要掌握基本的Markdown语法就能写出漂亮的文档了,如果需要插入公式的话直接采用dollar符号就可以,并且R Studio下的R Markdown支持数学公式的实时预览,称得上是R界的Typora啊!

    题头的YAML参数可以选择手动修改,不过初学者还是建议使用图1中的齿轮图标下拉菜单的最后一行进行修改。

    ---
    title: "Example"
    author: "Tom"
    date: "2020/6/10"
    output:pdf_document: toc: yeslatex_engine: xelatexword_document:toc: yeskeep_md: yes
    ---
    

    上面是我的一些设置,toc表示是否设置目录。如果需要在PDF中显示中文还要加上:

documentclass: ctexart

关于具体的一些编码配置请看这里。
对于R 代码块,需要配置的参数就很随意了,有兴趣的话可以看看knitr选项。