使用RStudio写作Rmd文档
2013-04-10 19:35 robturtle 阅读(19599) 评论(0) 编辑 收藏 举报基本概念
- Markdown:是一种为了源文件易读性,易维护性,方便快速写作,合作修改的文本语法。原生支持生成html。不支持矢量图和表的绘制。
- 注意 :Markdown有许多变异版本,比如Github Flavored Markdown支持代码语法高亮。
- R Markdown:这是一个国人开发的文档格式,完美衔接了R,\( LaTex \)和Markdown,使得文章既有Markdown的简洁语法,又有R和LaTex强大的数学表达和图表能力。
- Pandoc:可以把这个看成是万能文档格式转换器,支持html, pdf, \( LaTex \),MS Word,Markdown……等文档格式的互相转换。
使用前须知
Rmd文档翻译不是R的标准功能,必须要安装第三方包,请按照以下的步骤进行:
- 打开RStudio
- 确保已经连接互联网
- 在Console(控制台)下输入命令
- install.packages(“knitr”)
- 新建一个 R Markdown 文档,享受写作吧!
Markdown学习帮助
Markdown的语法用两只手就能数完,一般你只需要看看别人写的Rmd/md文档,你就能很快上手。如果你需要Markdown语法的帮助,在RStudio下新建一个Rmd文档,你将看到一个写着“MD”的按钮,点击它你就能获得帮助了。
R Markdown生成流程
- 编辑好Rmd文档,点击按钮“Knit HTML”
- Knitr将Rmd中的LaTex和R翻译,生成标准的Markdown文档(后缀名md)
- knitr自动通过标准md文档生成HTML文档。
注意 :只要有了md文档,你可以使用Pandoc或其他工具转换成大部分的文档格式
一些问题
特别注意:
- 目前RStudio似乎还只支持英文名称的文件名,如果在点击“Knit HTML”按钮时出现"Knitr return command status 1"等类似的错误信息,请确保文件所在路径中不包含中文、空格等非法字符。
- 一般生成html时,会使用系统默认的编码格式,如果发现生成乱码,请在"File->Save with encoding"下改成合适的编码即可。比如:中文简体-> GB2312
用R语言绘制图表,用\( LaTex \)书写数学公式
这里有两个用R绘制图表的例子,需要注意的是,最终文本不仅会将最后生成的图表打印,还会同时打印生成图表的命令。这也是科学界的惯例了,这样审稿人或你的合作者就能很方便地校验你的计算步骤,并且修改错误了。
嵌入R代码
观察源码和最后生成的图表,你将发现嵌入R代码是一件非常简单的事情
绘制统计表:
summary(cars)
## speed dist
## Min. : 4.0 Min. : 2
## 1st Qu.:12.0 1st Qu.: 26
## Median :15.0 Median : 36
## Mean :15.4 Mean : 43
## 3rd Qu.:19.0 3rd Qu.: 56
## Max. :25.0 Max. :120
绘制图:
plot(cars)
嵌入LaTex代码
在前面,我已经使用了行内方式嵌入了\( LaTex \)的logo,这是使用
$latex equation$
的语法。
如果你想使用整行的latex公式,只需要使用
$$
latex equation
$$
的语法。
比如这个公式:
$$
\sum_{i=1}^{n}{i} = \frac{n*(n-1)}{2}
$$
将输出:
\[ \sum_{i=1}^{n}{i} = \frac{n*(n-1)}{2} \]
R Markdown的语法糖
除此以外,R Markdown还提供了一些很方便的非标准Markdown的功能,比如:绘制简单表格
绘制表格
绘制表格的语法非常地人性化和易读,就像这样:
姓名 | 学院 | 班级 | GPA
------|------|------|------
刘洋 | 土木与交通 | 交通工程 | 3.1
刘二 | 计算机 | 软件工程 | 3.9
刘三 | 哲学院 | 认识论 | 3.0
将会生成:
姓名 | 学院 | 班级 | GPA |
---|---|---|---|
刘洋 | 土木与交通 | 交通工程 | 3.1 |
刘二 | 计算机 | 软件工程 | 3.9 |
刘三 | 哲学院 | 认识论 | 3.0 |
注意 :
- 每行不一定要对齐
- 对于是否绘制行间线,可以通过CSS改变主题实现
- 对于非常复杂的表格,还可以用嵌入LaTex代码绘制
更多入门介绍
这里有一个对markdown的一份简短介绍: 阳老师的博客