2017-02-17 105 views
0

我正在使用最新版本的R(3.3.2),运行于MacOS上最新版本的RStudio(1.0.136)塞拉利昂(10.12.3)。我遇到了一个问题,在该问题中,我的工作目录与我目前在RStudio中打开的.RMD文件所在的目录相对应,并且卡住了。在打开文件时,工作目录被正确设置为保存.Rproj文件的目录。但是,当我使用相对于该目录的路径加载文件时,出现当前工作目录中没有此类文件的错误,并且该错误返回.RMD文件的位置作为该工作目录。问题:R Studio中的工作目录“卡住”包含开放式R Markdown文件的目录

工作目录,但是,(使用getwd())仍然读取其中的工作目录是应该是,不管在哪里我尝试设置它,我仍然得到同样的错误消息时,我尝试在阅读文件。值得注意的是,我没有收到错误消息,说明工作目录不能更改--R告诉我工作目录已更改,并且该目录涉嫌当前工作目录...但事实并非如此。

我已经完全尝试(据我所知)卸载R和R工作室并重新安装它们,无济于事。有没有人有办法解决吗?这令我感到沮丧,因为我必须修改我定义的在笔记本中完成我的工作的所有相关路径。

其他相关信息:我从Time Machine备份中恢复,我怀疑它可能已被破坏;我的应用程序文件夹中的一些内容丢失了,我不得不手动移动。这是否会导致问题?在与我可能要查看的文件系统进行交互时,R依赖于其他系统文件吗?我试图避免做一个干净的操作系统安装或零碎的重建我的文件,因为我不知道这是否真的是问题。

在此先感谢!

+0

当*不*使用RStudio时,您可以更改工作目录吗? – Gregor

+0

你有没有试图编织一个.Rmd文件的问题?如果是这样,所有代码块都将根目录视为.Rmd的目录,而不是项目。例如,如果您的项目目录下有一个目录,则可以添加'knitr :: opts_knit $ set(root.dir ='../')'来创建相对于项目目录的路径文件。 –

+0

@Gregor Yup!当不使用RStudio并将与.RMD文件相同的代码直接写入R控制台时没有问题。 –

回答

2

这是RStudio笔记本电脑的一个已知的feature/bug(工作目录大约一半)。笔记本在与文件相同的目录中执行。正如@Simon Jackson指出的那样,你可以使用knitr::opts_knit$set(root.dir = normalizePath())来改变它。

+0

感谢您的信息!这对我来说似乎很奇怪,因为我在一个研讨会上,有许多人从相同的文件中工作,他们的RStudio行为不同于我使用的相同版本...... 我将使用该代码作为解决方法,那谢谢啦! –

+0

这是偶然的新行为吗? –

+0

我不这么认为。我很确定我记得在预览版中看到它。 –