In RStudio/RMarkdown, how to setwd?
setwd
in an Rmd file in RStudio does not appear to change the directory in subsequent chunks. Is there a way to set the working directory for good?
Example:
```{r}
setwd("/tmp")
getwd()
```
```{r}
getwd()
```
Output:
setwd("/tmp")
getwd()
## [1] "/private/tmp"
getwd()
## [1] "/Users/me/src"
This is on Mac OS 10.8.5 using RStudio 0.97.551, R version 3.0.2 and knitr version 1.5.
I wish to set the directory once for all subsequent chunks.
See Issue #277 and for further background, the package author's comments here
What you are looking for is the root.dir
option in knitr::opts_knit
.
The following will set the root directory for subsequent code chunks (but not this chunk):
```{r setup}
knitr::opts_knit$set(root.dir = '/tmp')
```
EDIT: RStudio 1.0.44
as of RStudio's latest release (Oct/Nov 2016), the following snippet is needed for knitr's render
default:
```{r setup}
knitr::opts_knit$set(root.dir = '/tmp')
```
see Etienne's comment about versions below.
Here's what I've been using, and it seems to work well when using R Projects (.Rproj
files):
knitr::opts_chunk$set(
# This should allow Rmarkdown to locate the data
root.dir = rprojroot::find_rstudio_root_file()
)