通过Rstudio生成的HTML文档与在Ubuntu上的命令行上生成的HTML文档看起来不同

时间:2017-01-09 00:07:20

标签: r knitr

我最近在Mac上的Rstudio中生成了一个knitr HTML报告。然后我研究了在命令行上自动生成关于Ubuntu的这样一个报告。

我很惊讶地发现格式和表格的格式看起来略有不同。此外,目录和标题(基本上是Rmd文件的YAML部分中的任何内容)都没有在输出html文档中呈现。

例如,以下是Rstudio报告中的表格:

rstudio_table

这是一个来自命令行生成报告的表:

cmd_line_table

我更喜欢Rstudio表,因为我觉得它更容易阅读。

要在命令行上编译报告,我使用了以下命令:

for(let item of cartShop) { if(item.name === name) { item.quantity += quantity; saveLocalCart(); return; }; }

要生成Rstudio报告,我只需单击编译按钮。

有没有人知道我如何调整命令行生成的报告中的格式,看起来更像是Rstudio的功能?

  1. 这是由于不同的操作系统(我的R版本在两个操作系统上稍微关闭),还是我错过了某种格式化包?
  2. Rstudio是否运行不同的命令来生成html文件?
  3. 我注意到Rstudio Rscript -e "require(knitr); require(markdown); knit('${OUTFILE}', '${OUTFILE}.md'); markdownToHTML('${OUTFILE}.md', '${OUTFILE}.html')"命令显示了由另一个包加载的yaml包。我确认它也可以在Ubuntu上使用,但它没有加载到那里。
  4. sessionInfo()

1 个答案:

答案 0 :(得分:4)

  

这是由于不同的操作系统(我的R版本在两个操作系统上稍微关闭),还是我错过了某种格式化包?

不是这种情况。但是,这里有很好的见解来检查这个。

  

我注意到Rstudio sessionInfo()命令显示了另一个包加载的yaml包。我确认它也可以在Ubuntu上使用,但它没有加载到那里。

有时残余物是从先前存在的工作中留下的。前瞻性的一瞥表明在Ubuntu环境中附加markdown_0.7.7与macOS相关(14对15附加包)。

  

Rstudio是否运行不同的命令来生成html文件?

是的!应用不同样式表的主要原因是直接的结果。特别是,RStudio方法通过rmarkdown::render生成来自Markdown的HTML文档,而不是基于直接knitr调用的方法。因此,要重新创建如何 RStudio生成HTML文档,请使用:

Rscript -e "rmarkdown::render('${OUTFILE}.md', 'html_document', output_file = '${OUTFILE}.html')"

以上假设您没有设置指示输出的内部yml配置。例如没有output: html_document

如果你有,你可能会逃脱:

Rscript -e "rmarkdown::render('${OUTFILE}.md')"