如何在R标记中将当前文件位置设置为工作目录?

如何在R标记中将当前文件位置设置为工作目录?,r,r-markdown,R,R Markdown,我有mydata.RDATA要在R中使用,然后我需要加载(),这意味着我需要先设置wd()curent目录。我已经知道了 当我在R markdown中执行此操作时: {r echo=FALSE} dirname(父帧(2)$ofile) script.dir如果.Rmd文件位于子文件夹中,则需要为knitr指定根目录,即使您已使用setwd()指定了工作目录,甚至是RSudio项目 幸运的是,这与将以下块添加到.Rmd文件的开头一样简单,就在YAML之后: {r“设置”,include=FALS

我有mydata.RDATA要在R中使用,然后我需要加载(),这意味着我需要先设置wd()curent目录。我已经知道了

当我在R markdown中执行此操作时:

{r echo=FALSE}
dirname(父帧(2)$ofile)

script.dir如果
.Rmd
文件位于子文件夹中,则需要为knitr指定根目录,即使您已使用
setwd()
指定了工作目录,甚至是RSudio项目

幸运的是,这与将以下块添加到
.Rmd
文件的开头一样简单,就在YAML之后:

{r“设置”,include=FALSE}
要求(“knitr”)
选择$set(root.dir=“~/path/to/project”)


~/
是Linux(可能还有Mac)上的
主目录。如果您使用的是Windows,则必须对此进行调整。

我建议您使用RStudio项目和相对路径。我在一些遗留代码中也使用了
of ile
方法,但它非常不可靠,这取决于文件的来源、编织等。我使用Rstudio,但从未使用过project。我有500多个project,然后我只能在每个文件夹中存储.Rdata文件。是的,您只需打开项目文件,然后会自动设置工作目录,并打开您上次在此项目中打开的文件。我只想不必输入“/path/to/project”,因为在移动.rmd文件时它是不灵活的。为什么在块头中放什么很重要?如果称为“设置”,knitr会以不同的方式处理块吗?