因此,无需深入说明为什么要这样做(因为此博客要求我至少保持相对匿名),所以,我只是说我的日常生活需要我经常使用R并生成结果报告。 R Markdown和RStudio是我用来这样做的工具(就R而言,这几乎是行业标准)。 在很大程度上,我真的很喜欢。 到处只有几个小错误(嗯,至少对我来说是个错误,我并没有真正地去寻找解决问题的动力,所以这可能是故意的)。

上图是Rmd(R Markdown)文件的典型外观。 前6行专用于文档的标题,作者,文件的创建日期(可以调整)以及要创建的输出(我通常使用word文档,因此以后可以轻松进行编辑,但是您可以还选择HTML和PDF文件)。 我真正喜欢R Markdown的就是这个小窍门:
include=FALSE
它本质上的作用是,这里的任何代码及其输出不会自动包含在报告中。 您可能会问这为什么有用? 最常见的原因是,它对于没有任何价值的代码很有用,但对于实际运行读者需要查看的代码来说却至关重要。 在这种情况下,我将其用于我经常使用的代码库。 tidyverse和MASS。
就设置字幕/标题而言,这非常简单。 做就是了:
#Set a subtitle like this
磅符号后跟一个空格,然后是文本,基本上就是您设置这些符号的方式。 真的容易吗? 磅符号越多意味着标题越小(因此,当您可以在单词的标题1和2之间进行选择,而标题2较小时,是的,基本上是这样)。 任何前面没有符号的常规文本将显示为正文。 要拥有内联代码,只需执行以下操作:
`r 2+2 `
r表示代码将在R中运行,而其后的文本就是您要运行的代码(在本例中为2+2 ),它将产生4的输出。对于更深入的代码,使用代码块是一个很好的实践看起来像这样:
Here's a code chunk
```{r}
random=read.csv("random.csv", header=T)
str(random)
```
这基本上会将random.csv的内容读入一个名为random的变量,然后在str(random)行中打印出内容的快速摘要。 这是不同数据集的输出结果:

请注意,第一行(或两行,但实际上只是包裹起来)是您要运行的代码,它不产生任何输出,第二行是代码生成的输出,最后四行是实际生成的输出。 通过将代码放在单独的块中并使用include=FALSE语句,可以选择并选择要在报告中显示的代码。
RStudio允许您创建非交互式和交互式报表。 R Markdown完全是非交互的(目前,尽管ggvis之类的工具可能会改变,这种工具专门设计用于创建可与之交互的输出,但至少可能在HTML输出中起作用)。 另一个选项是Shiny Apps。

如果您想了解更多有关此的信息,请随时查看下面参考书目中与其画廊的链接。 我没有太多的经验,所以我不会谈论它。

上面基本上显示了工具的实用性和功能性。 底部文本为橙色和斜体而不是普通文本的原因是由于我前面提到的那个小错误。 由于某种原因,当我在RStudio中正常键入没有任何前面的符号时,有时应该显示的代码或应该显示的文本不会包含在报告中。 我的解决方法是将解释文本放在代码块中作为注释(将其包含在输出中)。 如果找到原因,我会通知您。 我有一种下沉的感觉,这是因为我没有在某处放置足够的换行符或使用太多的换行符。
参考书目:
像往常一样,截图是我的。
闪亮–公交仪表板
编辑描述 Shiny.rstudio.com
https://shiny.rstudio.com/gallery/
https://www.rstudio.com/wp-content/uploads/2015/02/rmarkdown-cheatsheet.pdf