r - 如何使用 Docker 将 Rmarkdown 转换为 HTML?

标签 r docker r-markdown

如何使用 Docker 将以下 test.rmd 转换为 .html 文件的输出?

如果不要求在 docker 容器中设置 RStudio,我无法在这里找到一个简短的示例。

测试.rmd

---
title: "Test"
author: "John Doe"
date: "5/15/2019"
output:
  html_document:
    theme: lumen
---

## R Markdown

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.

## Scatter Plot

```{r}
library(ggplot2)

ggplot(mpg, aes(displ, hwy, colour = class)) + 
  geom_point()
``

最佳答案

这是一个基于 Rocker container I made for Rmd 的答案(有两个更正/更改)我在本地有。它相当小:R 加上 rmarkdown 加上完整的 LaTeX 堆栈(这方面对我很重要,对你可能不重要),除此之外别无他物,但 ggplot2。您可以使用标准的 docker pull rocker/r-rmdRocker account at the Docker Hub 下载它。 .

我不得不对您的 Rmd 文件进行两项更改。首先,我在最后一行添加了缺少的第三个反引号。然后,我还必须删除 lumen 主题。这可能来自另一个包裹——我不记得了。之后,以下命令就可以了(您的示例保存为 file.Rmd):

docker run --rm -ti -v${PWD}:/work -w/work \
    rocker/r-rmd Rscript -e 'rmarkdown::render("file.Rmd")'

在我的盒子上输出日志

edd@rob:~/git/stackoverflow/56157292(master)$ docker run --rm -ti -v${PWD}:/work -w/work rocker/r-rmd Rscript -e 'rmarkdown::render("file.Rmd")'


processing file: file.Rmd
  |................................                                 |  50%
  ordinary text without R code

  |.................................................................| 100%
label: unnamed-chunk-1

output file: file.knit.md

/usr/bin/pandoc +RTS -K512m -RTS file.utf8.md --to html4 --from markdown+autolink_bare_uris+ascii_identifiers+tex_math_single_backslash+smart --output file.html --email-obfuscation none --self-contained --standalone --section-divs --template /usr/lib/R/site-library/rmarkdown/rmd/h/default.html --no-highlight --variable highlightjs=1 --variable 'theme:bootstrap' --include-in-header /tmp/Rtmp6683qu/rmarkdown-str1417442cc.html --mathjax --variable 'mathjax-url:https://mathjax.rstudio.com/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML'

Output created: file.html
edd@rob:~/git/stackoverflow/56157292(master)$

渲染输出

enter image description here

关于r - 如何使用 Docker 将 Rmarkdown 转换为 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157292/

相关文章:

latex - 四开:无法在方程中呈现希腊字母

latex - 无法使用自定义样式编织为 pdf

r - 在树文件类 Phylo 的列上使用函数

docker - 用于调试的 Golang docker 文件

docker - 将/var/run/docker.sock挂载到容器中时,使用哪个文件系统进行卷挂载?

docker - 如何使用 Helm 模板解析 .env 文件(dotenv)?

R Markdown - 变量输出名称

python - 这里涉及什么概念? Python 和 R 中的示例。

r - 在没有循环的情况下对分组行进行计算

r - 如何计算R中的最小生成树