[英]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.