4

Rstudio 指出:

笔记本块内的当前工作目录始终是包含笔记本 .Rmd 文件的目录。

明白了。但是,如果我们在笔记本中setwd()进行某些操作(无论是“包含笔记本.Rmd 文件的目录”还是其他地方,都没有关系),这不会在控制台中设置工作目录,而只是在笔记本中。

反之亦然,在控制台中设置工作目录并不会更改笔记本中的工作目录——尽管这在上面有所解释。

在控制台和笔记本中设置工作目录的唯一方法似乎是在setwd()控制台和笔记本中运行相同的调用。

为什么?

有没有办法简化这一点,以便在进行调用后,notbook 和控制台的工作目录自动相同setwd(),而不是混淆地拥有两个“并行”工作目录?

一种假设不是只有一个人在笔记本上工作,而是在做“肮脏的工作”并快速检查一个人没有计划保留在控制台中。因此,这种工作目录行为非常令人沮丧。

4

1 回答 1

4

rmarkdown网站解释了这一点。它建议使用:

```{r setup}
    knitr::opts_knit$set(root.dir = normalizePath("path")) 
```

其中path代表您要建立的工作目录的路径。

确保在设置块中设置工作目录。

======

我相信这只改变笔记本中的工作目录而不是控制台中的工作目录的原因源于它是一个“笔记本”的想法。一旦你开始使用笔记本,一切都在

code
output

格式。因此结果显示在代码下方。不再需要控制台。控制台是分开的,也许可以满足您的其他需求。它类似于 Jupyter。那里只有代码和输出单元,没有别的。它没有任何控制台或变量部分。干净整洁。

于 2017-11-10T17:24:56.417 回答