我遇到了一个奇怪的问题。当我从RStudio RMD文件中的R markdown块设置我的工作目录时,通过运行块,我收到以下错误:
setwd('~/Users/Home/mypath/here')
The working directory was changed to /Users/Home/mypath/here inside a notebook chunk.
The working directory will be reset when the chunk is finished running.
Use the knitr root.dir option in the setup chunk to change the the working directory for notebook chunks.
从块中运行这行代码并检查getwd()后,我得到以下内容:
getwd()
"/Users/Home"
但是,当我从控制台运行setwd()时(字面上复制并粘贴/运行控制台中的代码),工作目录会发生变化。
我从来没有从笔记本块中使用setwd()得到这个错误,而且我几乎在我创建的每个RMD文件中都从一个笔记本块中setwd()。为什么我现在突然出现这个错误?这看起来很奇怪。
答案 0 :(得分:1)
我在 RStudio 社区中找到了这段代码,它对我有用!
{r setup, include=FALSE, echo=FALSE}
require("knitr")
opts_knit$set(root.dir = "~/path/to/folder/")
来源是 here。
答案 1 :(得分:0)
建议这样做:
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
knitr::opts_knit$set(root.dir = "")
getwd()
```
答案 2 :(得分:0)
在RStudio中,在“编织”下拉菜单中,选择“编织目录”,然后选择“当前工作目录”。然后重新运行setwd(...)。这为我解决了这个问题。