当我们做完统计分析, 会需要与他人交流研究成果。 这意味着要把分析整理到某种报告里面。 有三种常见的创建报告场景: 第一种:
创建一个包含代码和结果的报告,便于记住6个月前做过的事情。如果要重做之前的事情,从单个完整的文档做起比从多个相关的文档做起要更加容易。
第二种: 为客户创建一份报告。你需要注意清晰性和吸引性,而且这份报告可能只需要创建一次。 第三种:
为日常需求创建一份特定类型的报告。这种情况下,数据会有所变化, 但是分析过程和报告结构保持不变。
这些动态报告可以用网页,word,PDF等格式保存。
1.用模板生成报告
读取模板文件,运行R代码,应用格式化指令,生成一个报告。如果在报告中机上R的输出由选项来控制。
模板文件中代码:
报告的呈现:
这个模板文件被作为参数传递到rmarkdown包的render()函数中,然后创建一个网页文件。此网页包含了文字和R结果。
用R 和 Markdown创建动态报告
整个过程是:使用rmarkdown包来从Markdown格式和R代码中创建文档。在处理文档的时候,运行R代码,格式化输出,然后把输出的嵌入到最后生成的文档当中。
具体步骤如下:
1)安装包,这里不做详解,可百度查看。【注:可以安装xtable包,包中的xtable()函数用美观的方式格式化报告中的数据框和矩阵。】
2)都安装好后,为了用Markdown语法把R的输出(值,表格,图形)合并到一个文档中,你需要首先创建一个包含报告文字,Markdown语法,R代码块的文档。这种文档文件使用扩展名.Rmd。
如上例中所示,为了生成一个HTML文档, 对Rmd文件运行了以下语句:
library(rmarkdown)
render("example.Rmd","html_document")
下面给到了Markdown常用语法:
# Header 1
## Header 2
### Header 3
#### Header 4
##### Header 5
###### Header 6
**这是加粗的文字**
文字之间一行或多行的空白行 代表 把文字分割成段落
行尾两个或多个空格 代表 添加一个换行符
接下来是R代码块。Markdown文档中的R代码用r options 和```来分割。
下面给到了部分代码块的选项。
echo : 是否输出包含R源代码(TRUE或FALSE)
results:是否输出原生结果(asis或hide)
warning:是否在输出中包含警告(TRUE或FALSE)
message:是否在输出中包含参考的信息(TRUE或FALSE)
error:是否输出中包含错误信息(TRUE或FALSE)
fig.width:图片宽度(英寸)
fig.height:图片高度(英寸)
简单的R 输入(数字或字符串)也可以直接放置在报告文件中。行内R代码允许自定义每一句的一些文字。行内代码放置在 R和 `之间 ,如示例中的第8行。
最后,我们可以用xtable()函数来格式化结果。如示例中第20行。
很多时候我们也会用到hnitr包里的kable()来取代。它可以用一种简单和吸引人的方式把矩阵和数据框转化出来。
更多的内容可查看链接