为什么在R Notebook中设置工作目录并不能改变控制台中的工作目录?

时间:2017-06-29 05:25:33

标签: r rstudio r-markdown rnotebook

Rstudio states that:

  

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

解读。但是如果在笔记本中我们setwd()某事(要么"包含笔记本.Rmd文件的目录"或其他地方,并不重要),这不会设置控制台中的工作目录,仅在笔记本中。

反过来也是如此,在控制台中设置工作目录并不会改变笔记本中的工作目录 - 尽管上面对此有所解释。

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

为什么?

有没有办法简化这一点,以便在进行setwd()通话后,notbook和控制台的工作目录自动相同,而不是容易混淆两个' parallel'工作目录?

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

1 个答案:

答案 0 :(得分:2)

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

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

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

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

==

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

code
output

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