关于R、Rstudio及Rmarkdown的补充说明

 

课后发现仍有许多同学不了解R与Rstudio、R语言与Rmarkdown语法的区别。这里再简单说明之。...



昨天的课程和课后,发现仍有许多同学不了解R与Rstudio、R语言与Rmarkdown语法的区别。这里再简单说明一下。

一、R与Rstudio

R是核心统计计算和绘图软件,Rstudio在R的基础上拓展了其他相关的功能,是整合了R功能的一个“小型操作系统”,可将R的结果输出为网页、word、pdf,同时对R结果的展示进行了某种程度的集成化和优化。打一个不太确切的比方,R就相当于咱们学校教室里的讲台上的电脑,而Rstudio则相当于整个操作台,这个操作台里有电脑,还有电脑之外连接投影仪、音箱的接线口和相关工具。

一般情况下,Rstudio中左下角区域就是R,可在其中直接输入R命令,其结果与直接打开R中输入命令相同。但是,这种操作(包括直接在R中的操作)不易保存命令,而且每行命令前面都有一个符号:>;同时也缺少语法高亮和命令提示功能。这对于代码阅读和拷贝是不利的。我们更倾向于使用其他编辑器(如Rstudio)来拓展R的相关功能,让代码运行和展示变得更加人性化。这正是Rstudio产生的初衷。

二、R语法、Markdown语法与Rmarkdown语法

R可视为一种是编程或统计语言,Markdown可理解为是一种简洁易学的、独立于R和Rstudio的网络书写语法(相较于word等),它可以广泛地应用于其他任何基于网页载体,如用来写博客、写文章等;而Rmarkdown自然就是整合了前两者的、依托与Rstudio这一编辑器而实现的写作格式。

Markdown的语法说明,可参见:

http://www.jianshu.com/p/1e402922ee32/

这里不再细述。

Rmarkdown语法较为核心的一点,是将R计算(代码块)与普通文本写作融合在一块。这也是谢益辉的knitr包的一大贡献。普通区域用于普通文本写作,而所有的R命令都放在如下区域中:

```{r}

```

注意这里的```并不是R命令,而只是在Rmardown中表示其中的内容是一串R代码而不是普通文本。有很多同学直接把这个命令拷贝到R中去运行,然后问“怎么出现了错误提示?”,就是这个原因。

有时为了标记不同的代码区块,会用如下方式表示:

```{r example 1}

```

正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文正文

```{r example 2}

```

更多关于knitr包及Rmardown的说明,请参考如下谢益辉的文章及相关资料:

http://cos.name/2012/06/reproducible-research-with-knitr/

http://rmarkdown.rstudio.com

同时还可观看他本人录制的视频教程:

http://yihui.name/knitr/

视频和上面的文章绝对值得一看,可以解决许多问题,至少不必追着别人问一系列stupidquestions(请原谅我使用这个形容词,但很多问题确实很stupid,哈哈哈……)。



图片来自网络。


    关注 我们爱开源


微信扫一扫关注公众号

0 个评论

要回复文章请先登录注册