我正在使用RStudio进行开发,并在上周安装了RStudio
(版本1.0.34)的开发版本,因为我想使用R Notebooks
。
我现在遇到的问题是,代码块不会被执行与工作目录相关,而是与markdown文档的位置相关。当knitr
文档而不是执行块时,这是常见的
我现在下载了最新的开发版本(1.0.44),但仍然存在同样的问题。
是否有针对此问题的解决方法,或者这是RStudio
和rMarkdown
的未来计划?我认为在开发文档时这非常不方便。
例如,我知道这篇文章In RStudio/RMarkdown, how to setwd?,但这就是为什么我执行了块而不是编织整个文档的原因。它在RStudio <= 1.0.0
中按预期工作。
答案 0 :(得分:1)
这是未来的计划;我们的想法是,无论是一次运行一个(交互式)还是一次批量运行(knitr),块的运行方式应该相同。对这两种执行模式使用相同的工作目录为块内的相对路径提供了可靠的起点。
如果你不喜欢这种行为,有几种方法可以选择退出。
运行块的工作目录不必是文档的目录;您可以在设置块中将其设置为您想要的任何内容。
```{r setup}
knitr::opts_knit$set(root.dir = ...)
````
如果您更喜欢先前版本的RStudio中的行为 - 也就是说,执行块只会将代码发送到控制台,并在当前工作目录中执行 - 您可以将其设置为默认值。转到工具 - &gt;选项 - &gt; R Markdown并取消选中显示所有R Markdown文档的内联输出。