如何使用 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-rmd
从 Rocker 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)$
渲染输出
关于r - 如何使用 Docker 将 Rmarkdown 转换为 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56157292/