内容

1介绍

目标

此内容适用于rstudio.R.Markdown - R的动态文件标记基础知识R码块教程。

此次会话将工具介绍给作者文档,其中包含动态生成的分析结果(表,数字,...)R.。在一个连贯的文件中一起将数据,结果及其解释集中在一起,以跟踪长期和复杂的分析,确保管道的可重复性和最终报告(数据或分析级别的任何更新在报告级别传播)并全面地将这些结果与合作者沟通。这是一个流行的解决方案是识字编程,允许的技术和一组工具

  1. 在单个文档中写文本和代码。在这里,我们将使用简单的啰嗦语法和包括R.代码块;这些文件表示为r markdown.文件并拥有RMD.扩大。更多关于下一节中的这一点。
  2. 提取并执行代码:调用此代码纠结
  3. 将其输出替换为原始文档的代码块:这被调用织造
  4. 将文档渲染为最终,轻松读取格式,如PDF或HTML。

可以单独地或自动执行步骤2到4,或者将其自动执行KNITR :: KNIT2HTML(即功能knit2html.来自包裹kn) 或者RAMARMDOWS ::渲染,或使用rstudio编辑器。

组合编程和创作语言的其他类型的文档和框架是sw文件(有关rnw.扩展,结合乳胶和R.),jupyter./iPython.对于Python,R.和其他语言,OrgMode.......

2R.啰嗦

R Markdown是一种创作格式,可以轻松创建来自R的动态文档,演示文稿和报告。它结合了核心语法啰嗦(一种易于写的纯文本格式),具有嵌入式R.代码块。R.标记文件完全可重复的(每当潜在时,它们都可以自动再生R.代码或数据更改)。

本文档介绍R.基于的Markdown v2knPandoc.,将Markdown转换为HTML和许多其他格式的Workhorse。我们将在HTML和PDF中集中生成此类文档,但其他格式和类型可用。

请注意,PDF输出需要完全安装TEX,并且Pandoc是需要安装在外面的第三方应用程序R.除非您使用Rstudio,否则将所有必要的捆绑在一起R.包裹和Pandoc.

小费

我们还想使用MS Word作为输出文档,因为这会破坏重复性的支持。最终的编译文档仅用于呈现(其隐含的PDF文件的HTML);编辑应在原始文档上执行,即RMD.文件。

2.1安装

您可以从CRAN安装所需的包,如下所示:

install.packages(“knitr”)install.packages(“Rarmmardown”)

这些包用Rstudio预安装。

2.2标记基础知识

下图,取自Rstudio Markdown(v2)教程使用RSTUDIO说明了基本的Markdown语法及其输出。

标记基础知识

2.3文件标题

R Markdown版本2使用可选的在其他事情中,标题为定义,其中标题,作者和输出格式R.标记文件。下面,我们想使用HTML.作为最终格式;用。。。来代替pdf_document.制作PDF报告。

---标题:“标题来到这里”作者:“您的姓名”日期:“2015年6月12日”输出:HTML_Document ---

2.4RMD.HTML.(或者PDF.

如果您使用的是Rstudio,则生成最终输出的最简单方法是打开您的RMD.文件并单击针织HTML(或者针织PDF., …) 按钮。

R.,你可以使用KNITR :: KNIT2HTML或者RAMARMDOWS ::渲染功能并给予RMD.源文件作为输入。

  1. 这两个选项都将首先使用KNITR :: Knit.功能编织该文档并生成标记m包含代码输出的文件。

  2. 将使用最终输出文件的渲染markdown :: markdowntohtml.(的情况下KNITR :: KNIT2HTML)或最近的RAMARMDOWS ::渲染

库(“KNITR”)KNIT2HTML(“my_rr_document.rmd”)
库(“RAMMARMDOWN”)渲染(“my_rr_document.rmd”)##默认输出是HTML渲染(“my_rr_document.rmd”,output_format =“html_document”)

用于使用PDF输出kn

KNIT2PDF(“my_rr_document.rmd”)

或者rmakdown.

库(“Rarmmardown”)渲染(“my_rr_document.rmd”,output_format =“pdf_document”)

并且,呈现标题中定义的所有输出格式

渲染(“my_rr_document.rmd”,output_format =“全部”)

锻炼:试验R.迄今为止描述的标记和特征。要创建起始文档,请创建一个新的r markdown.文件使用Rstudio菜单或复制/粘贴下面的模板。

---标题:“标题来到这里”作者:“你的姓名”日期:“2015年6月12日”输出:HTML_Document ---这是一个`R`标记文件。Markdown是用于创作HTML,PDF和MS Word文档的简单格式化语法。有关使用“r`的更多详细信息,请参阅。单击**针织**按钮时,将生成文档,其中包含内容以及文档中的任何嵌入式`r` ro块的输出。您可以嵌入如下所示的“R”代码块:

2.5更多Markdown语法

2.5.1.重点

您可以使用*或者_格式化斜体大胆的文本。

*斜体* ** bold ** _italic___bold__

2.5.2标题

##标题2 ###标题3

2.5.3清单

无序列表:

*项目1 *第2项+第2A +项目2B

订购清单:

1.第1项2.第3项3.第3项+项目3A +第3B项

2.5.5图片

要为文档添加静态图,请使用链接语法并在其之前!!![图像文本](./ fig / myfig.png)

图像源可以是在线或本地文件。

![alt text](http://example.com/logo.png)![alt text](数字/ img.png)

2.5.6块报价

一位朋友曾经说过:

给予比收到总是更好的。

一位朋友曾经说过:>给予比收到更好。

2.5.7普通代码

普通代码块以固定宽度字体显示,但未评估(见下文用于评估代码块),请使用3后退(参见上图)

此文本逐字显示/预格式化

我们也可以定义排队使用单个背面的代码。

我们还可以使用单个背面定义“在线”代码。

2.5.8横向规则/页面休息

三个或更多的星号或破折号:

****** ------

2.5.9桌子

有一个简单的Markdown语法来生产可充分格式化的表:

第一标题 第二标题
内容细胞 内容细胞
内容细胞 内容细胞
内容细胞 内容细胞

这是由

第一标题|第二标题------------- |-------------内容细胞|内容细胞含量细胞|内容细胞含量细胞|内容细胞

2.5.10嵌入方程式

您可以嵌入乳胶或MathML方程R.使用以下语法的Markdown文件:

  • $等式$对于内联方程式(注意,毗邻的白色空间一定不存在$分隔师)
  • $$方程式$$显示方程式
  • ... 对于MathML方程。

例如:

方程式内联

2.5.11超级和下标

H2o是液体。210.是1024。

H〜2〜O是液体。2 ^ 10 ^是1024。

锻炼:补充你RMD.带有一些新语法元素的文件。


2.6R.代码块

包括R.代码在R.Markdown文件,本机代码Chunk语法在内部的代码块标记增强{r,...},如下图所示:

标记代码块

以下代码块选项可用:

表格可以轻松打印在代码块内。下面,我们明确创建和使用data.frame.

DFR < -  data.frame(名称= C(“John”,“David”,“Caroline”,“Igor”),ID = C(123,234,321,231),性别= C(“M”,“M“,”f“,”m“))DFR
##名称ID性别## 1 John 123 M ## 2 David 234 M ## Caroline 321 F#4 Igor 231米

生产的表R.随着数据帧或矩阵可以用辅助功能呈现KNITR :: KABLE.然后相应地显示。

图书馆(“KNITR”)KABLE(DFR)
名称 ID 性别
约翰 123. m
大卫 234. m
卡罗琳 321. F
伊戈尔 231. m

锻炼:使用鸢尾花数据集,创建一个可重复的报告,记录数据(维度,摘要统计信息,......)并提供一组可视化(PCA绘图,,......)。要结束您的报告,请添加一个会话信息截面的输出sessioninfo()


3.下一步

4.参考

5.会话信息

## R版本3.2.0修补(2015-04-22 R68234)##平台:X86_64-Unknown-Linux-GNU(64位)##正在运行:Ubuntu 14.04.2 LTS ## ## locale:##[1] lc_ctype = en_gb.utf-8 lc_numeric = c ## [3] lc_time = en_gb.utf-8 lc_collat​​e = en_gb.utf-8 ## [5] lc_monetary = en_gb.utf-8 lc_messages = en_gb.utf-8 ## [7] lc_paper = en_gb.utf-8 lc_name = c ## [9] lc_address = c lc_address = c lc_telephone = c ## [11] lc_measurement = en_gb.utf-8 lc_identification = c ## ##附加基础包:## [1]统计图形grdevices utils数据集基数## ##其他附加包:## [1] KNITR_1.10.5 BioCstyle_1.7.3 ## ##通过命名空间加载(而未附加):## [1] magrittr_1.5 formatr_1.2 tools_3.2.0 htmltools_0.2.6 ## [5] yaml_2.1.13 stramei_0.4-1 Rarmard_0.6.1 highr_0.5 ## [9] Stringr_1.0.0 digest_0.6.8评估_0.7