2016-11-07 83 views
0

我有一個「.Renviron」文件,但是如果我以批處理模式運行R文件,R似乎無法找到它。如果我有.Renviron文件在批處理中找不到

source(paste0(Sys.getenv("HOME"),"\\.Renviron"),echo=TRUE) 

輸出正確地報告

R_LIBS = "D:\\R\\library" 

但此目錄中的包都沒有發現。我試過R CMD BATCHRterm.exd <來源>輸出2>&1,找不到包數據庫使用任何一種方法。有誰知道我做錯了什麼?我在Windows 7下使用R 3.3.2。

+0

在批處理中運行時輸出'.libPath()'。你得到了什麼? – csgillespie

+0

我有一個非常類似的問題。如果我從命令提示符運行R,R只加載.Renviron,如果它位於我運行R的目錄中。我的理解是,R應該在用戶的主目錄中搜索.Renviron,但它不會爲我執行此操作。 – billelev

+0

真奇怪的是我的主目錄中找到了.Rprofile文件。作爲一種解決方法,我創建了一個定義R_LIBS的Windows批處理文件:'D:\ R \ R-3.3.2 \ bin \ x64 \ Rterm.exe --no-restore --no-save --file =「%〜 1.R「>」%〜1.out「2>&1 R_LIBS = D:/ R/library'。 Kludgey,但它的作品。 – ckx

回答

0

我在R 3.2.0中通過creating a user environment variable R_ENVIRON_USER解決了類似問題,它指向我的.Renviron文件。

RStudio似乎從%userprofile%/ Documents加載.Renviron,但命令行R默認只是%userprofile%。創建系統環境變量會使RStudio和命令行的行爲一致。

請參閱this webpage作進一步討論。

+0

感謝您的建議,但我沒有管理員權限。我嘗試在Windows批處理文件中定義一個環境變量,但未被識別。 – ckx