[英]How to get R to recognize your working directory as its working directory?
我在多台機器上的 Windows 下使用 R。
我知道你可以從 R 腳本中設置工作目錄,就像這樣
setwd("C:/Documents and Settings/username/My Documents/x/y/z")
...但是這破壞了腳本的可移植性。 必須反轉所有斜杠也很煩人(因為 Windows 給了你反斜杠)
有沒有辦法在特定的工作目錄中啟動 R,這樣您就不需要在腳本級別執行此操作?
您應該將 R(R.lnk 文件)的快捷方式復制到所需文件夾。 然后在“屬性”(鼠標右鍵 - > 最后一個選項)中刪除第二個選項卡(“快捷方式”?)中“開始於...”字段中的任何內容。 如果您使用此快捷方式啟動 R,工作目錄將是快捷方式所在的目錄。
我沒有英文版的 Windows,所以我不確定字段名稱,但它們應該很容易找到。
R-windows-faq 中有類似的問題:
在 2.14 中提到
工作目錄是啟動 Rgui 或 Rterm 的目錄,除非在快捷方式屬性的“開始於”字段中使用了快捷方式。
您可以使用環境變量。 這可以與Sys.getenv()
和Sys.setenv()
。 例如:
> Sys.setenv(R_TEST="testit")
> Sys.getenv("R_TEST")
R_TEST
"testit"
如果您在腳本中發送了變量,您應該能夠從內部訪問它,然后在該輸出上調用setwd()
。
將您的工作區保存到所需目錄,然后您只需從 Windows 資源管理器中打開工作區。
我將以下行放在我的腳本前面,它允許我在我的計算機上工作。
setwd(path.expand("~/path/to/working/directory/") )
其中 ~ 是 = 到您的主目錄。
Sys.setenv(HOME = "path")
或Sys.setenv(R_USER = "path")
都可以設置主目錄。
就我而言,我在幾個 Windows 機器上工作,每個機器都有相當不同的目錄結構,但是通過正確設置主目錄,我可以在計算機之間同步代碼並使它們在每個機器上正常運行,因為我運行 R 項目的地方具有相似的目錄結構.
如果您使用 Emacs/ESS,這不是問題。 我導航到 R 腳本所在的目錄,打開它,然后啟動 R ESS 進程。 一個 R 控制台彈出,當前目錄作為 R 的工作目錄。
如果你還沒有轉換成 Emacs/ESS,我推薦它。 (雖然為了防止爆發戰爭,我還注意到 Vi 用戶也有類似的選擇。)
希望有幫助。
只是一個細節:不要像你說的那樣反轉斜杠,只需添加另一個反斜杠。 其中兩個 \\\\ 的工作方式與其中一個 / 相同。 這至少使它變得容易一些。
對於 Ubuntu:
將以下命令插入您的.Rprofile
文件(通常在您的主目錄中):
setwd(Sys.getenv("PWD"))
現在您的默認工作目錄將是您啟動 R 的任何目錄。 請記住,您也可以通過保存您的工作空間形象建立在不同的目錄默認工作區.RData
無論你(啟動源計划推出[R .Rprofile
搜索之前.Rdata
在cwd
)。
要將 R 工作目錄設置為我正在工作的 R 腳本的當前目錄,我總是使用命令getwd()
和setwd()
,如下所示:
path <- getwd() setwd(path)
要么
setwd(getwd())
如果您想了解更多信息,請參閱這篇文章。
干杯,
[] 的
要在 R Studio 中設置工作目錄:請在此處參考帶有屏幕截圖的詳細幻燈片。
要在 R Studio 中設置永久工作目錄(不在項目中時):請參閱我的快速視頻: https : //youtu.be/hMjzO4bAi70
轉到工具 --> 全局選項 --> R 常規 [基本] --> 默認工作目錄(不在項目中時)瀏覽要設置為工作目錄的文件夾,單擊“應用”和“確定” '
但是,組織工作的有效且更好的方法是創建項目並使用版本控制。
將 R gui 的快捷方式放入所需目錄。 右鍵單擊並查看快捷方式屬性。 刪除“Start In”條目,然后單擊“確定”。 當您從此快捷方式啟動 R gui 時,默認目錄將是您啟動的文件夾。 將此快捷方式復制/粘貼到您想要的任何位置。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.