繁体   English   中英

在给定文件夹中编织每个 RMarkdown 文件

[英]Knit each RMarkdown file inside a given folder

我有一个包含几个 R Markdown (.Rmd) 文件的文件夹。 有没有办法按顺序自动编织每个文件?

目前我必须打开一个文件,单击 Knit(需要几分钟才能运行),关闭,重复下一个文件...

谢谢!

您可以在循环中使用rmarkdown::render function 来执行此操作。 在这里,我使用了{purrr} package 中的map()而不是显式的 for 循环。

现在假设我在目录multiple_rmd中有两个 rmd 文件

+---multiple_rmd
|       rmarkdown_file_01.Rmd
|       rmarkdown_file_02.Rmd

现在要循环渲染它们,收集文件路径(这里我使用了返回相对文件路径的list.files function)并传递这些 rmd 文件的文件路径来render function。

rmd_files <- list.files(path = "multiple_rmd/", full.names = TRUE)
rmd_files

# [1] "multiple_rmd/rmarkdown_file_01.Rmd"
# [2] "multiple_rmd/rmarkdown_file_02.Rmd"

purrr::map(.x = rmd_files, 
           .f = ~rmarkdown::render(.x, output_dir = "multiple_rmd/"))

现在渲染的 output 文件将在multiple_rmd目录中找到。

你可以做

purrr::map(list.files(pattern = "\\.Rmd$"), ~rmarkdown::render(.x))

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM