Rmarkdown代码块工作目录与.Rmd文件所在目录不一致问题问询
常见配置遗漏和操作问题如下:
- RStudio全局编织配置未调整
默认RStudio执行Rmd代码块、编织文档时使用的是R全局默认工作目录,而非.Rmd文件所在目录。修改方法:打开RStudio顶部菜单栏Tools→Global Options→ 找到R Markdown设置项,将Evaluate chunks in directory的下拉选项改为Document,重启RStudio后生效。 - 单文档自定义配置覆盖了全局规则
检查你的.Rmd文件开头的YAML头部,有没有写死自定义渲染路径的配置,或者文档首个setup代码块中有没有类似knitr::opts_knit$set(root.dir = "C:/DefaultWD")的固定路径配置,这类设置优先级高于全局配置,直接修改或删除对应写死的路径即可。如果需要动态适配文档路径,可以在setup块中添加如下代码:
knitr::opts_knit$set(root.dir = dirname(rstudioapi::getSourceEditorContext()$path))
- 操作逻辑混淆
如果你是单独选中代码块点「运行」按钮执行代码,此时调用的是当前R会话的工作目录,不会触发编织时的文档目录规则,只有点击「Knit」按钮编织整个文档时,才会默认使用.Rmd文件所在目录作为工作目录。

内容的提问来源于stack exchange,提问作者yaennu.s
相关产品推荐
相关产品推荐

