我最近在Mac上的Rstudio中生成了一个knitr HTML报告。然后我研究了在命令行上自动生成关于Ubuntu的这样一个报告。
我很惊讶地发现格式和表格的格式看起来略有不同。此外,目录和标题(基本上是Rmd文件的YAML部分中的任何内容)都没有在输出html文档中呈现。
例如,以下是Rstudio报告中的表格:
这是一个来自命令行生成报告的表:
我更喜欢Rstudio表,因为我觉得它更容易阅读。
要在命令行上编译报告,我使用了以下命令:
for(let item of cartShop) {
if(item.name === name) {
item.quantity += quantity;
saveLocalCart();
return;
};
}
要生成Rstudio报告,我只需单击编译按钮。
有没有人知道我如何调整命令行生成的报告中的格式,看起来更像是Rstudio的功能?
Rscript -e "require(knitr); require(markdown); knit('${OUTFILE}', '${OUTFILE}.md'); markdownToHTML('${OUTFILE}.md', '${OUTFILE}.html')"
命令显示了由另一个包加载的yaml包。我确认它也可以在Ubuntu上使用,但它没有加载到那里。
sessionInfo()
答案 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')"