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

Uma*_*mao 5 r rstudio r-markdown rnotebook

Rstudio 声明:

\n\n
\n

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

\n
\n\n

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

\n\n

反之亦然,在控制台中设置工作目录不会更改笔记本 \xe2\x80\x94 中的工作目录,尽管上面对此有所解释。

\n\n

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

\n\n

为什么?

\n\n

有没有什么方法可以简化此操作,以便在进行调用后,笔记本和控制台的工作目录自动相同setwd(),而不是令人困惑地拥有两个“并行”工作目录?

\n\n

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

\n

ily*_*yas 6

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

```{r setup}
    knitr::opts_knit$set(root.dir = normalizePath("path")) 
```
Run Code Online (Sandbox Code Playgroud)

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

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

======

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

code
output
Run Code Online (Sandbox Code Playgroud)

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