2017-02-17 67 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

我不這麼認爲。我很確定我記得在預覽版中看到它。 –