Мой проект R структурирован как пакет с каталогами /R
, /vignettes
, /data
и т.д. В одном из моих документов Rmd в /vignettes
я исхожу из script, который находится в /R
. Внутри этого script я использую read.csv()
для загрузки файла, расположенного в inst/extdata/
.
Проблема в том, что по умолчанию рабочий каталог внутри файла Rmd является каталогом, в котором находится файл. Позвольте называть его /Users/Me/Docs/Proj/vignettes
. Однако для запуска R script рабочим каталогом должен быть основной каталог проекта (/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'
```
Я использую 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 base packages:
[1] stats graphics grDevices utils datasets methods base
loaded via a namespace (and not attached):
[1] htmltools_0.2.6 tools_3.2.0 yaml_2.1.13 rmarkdown_0.6.1 digest_0.6.8
Любую помощь любезно оценивают. Если вам нужна дополнительная информация, разместите комментарий к вопросу. Спасибо заранее!