我R项目的结构类似于目录包/R,/vignettes,/data等.在我的文档RMD中的一个/vignettes我来源,在位于脚本/R.在这个脚本里面我read.csv()用来加载一个位于的文件inst/extdata/.
现在的问题是,默认情况下,Rmd文件中的工作目录是文件所在的目录.我们称之为/Users/Me/Docs/Proj/vignettes.但是为了让R脚本运行工作目录,需要成为项目的主目录(/Users/Me/Docs/Proj).
我尝试使用更改Rmd文件中的工作目录knitr::opts_chunk$set(root.dir = normalizePath("..").但显然这并没有改变工作目录,因为如果我把getwd()它后输出仍/Users/Me/Docs/Proj/vignettes而knitr::chunk_opts$get("root_dir")回报/Users/Me/Docs/Proj.
这是一个最小的示例Rmd文件:
```{r}
getwd() # returns 'Users/Me/Docs/Proj/vignettes'
knitr::opts_chunk$set(root.dir = normalizePath("..")) # should change the working directory to 'Users/Me/Docs/Proj'
getwd() # again returns 'Users/Me/Docs/Proj/vignettes'
knitr::opts_chunk$get("root.dir") # returns 'Users/Me/Docs/Proj'
```
Run Code Online (Sandbox Code Playgroud)
我使用的是RStudio版本0.99.435.这是我的会议信息:
R version 3.2.0 (2015-04-16)
Platform: x86_64-apple-darwin14.3.0 (64-bit)
Running under: OS X 10.10.3 (Yosemite)
locale:
[1] de_DE.UTF-8/de_DE.UTF-8/de_DE.UTF-8/C/de_DE.UTF-8/de_DE.UTF-8
attached …Run Code Online (Sandbox Code Playgroud)