【发布时间】:2016-12-29 23:45:09
【问题描述】:
在处理简单文件时,使用 RStudio 中的 Knit 按钮非常适合我,自动生成 Rmd 文件,然后生成 PDF。现在我正在做一个更大的项目,我已经将目录拆分为
MainProjectDir/
MainProjectDir/代码/
MainProjectDir/DataRaw/
MainProjectDir/DataWork/
getwd() 给了我 MainProjectDir 路径。 Code 目录中的 .r 文件相互调用,并使用 MainProjectDir 路径中的相对路径从/向 Data 目录加载和保存数据。
现在,当对代码目录中的 .r 文件使用 Knit 按钮时,出现连接错误:
文件错误(文件名,“r”,编码=编码):无法打开连接
在这里阅读了一些回复并查看了 Yihui 的页面后,我尝试在 knitr 包中设置 root.dir 选项
knitr::opts_knit$set(root.dir="..")
在控制台中按下 RStudio 中的 Knit 按钮之前。我仍然得到同样的错误。还尝试了路径的绝对路径版本。我做错了什么?
【问题讨论】:
-
你试过使用
rmarkdown::render函数吗? -
我正在使用 File/Knit 菜单命令,让 RStudio 调用 pandoc/knitr。在简单的目录结构上效果很好,这就是为什么我试图找到一种正确描述相对路径的方法。您建议的流程是什么?
-
您在另一个脚本中使用了函数 rmarkdown::render。它可以更好地控制您的环境。最好在之前用
rm(list = ls())清理你的全球环境,很难。 -
在我走上这条路之前,为什么 knitr::opts_knit$set(root.dir="..") 不起作用?
-
你知道你可以在你的脚本中放入 print(getwd()) 来知道脚本在哪里执行?
标签: r