2016-08-18 116 views
2

我的目標是定義一個單一路徑,其中R將用於安裝和搜索庫。 I read這可以通過更改R安裝路徑中的Rprofile.site文件來完成。我在那裏嘗試了兩個命令:如何在R中正確設置庫目錄/路徑

.libPaths("D:/RLibrary") 
.Library.site <- file.path("D:/RLibrary") 

其中,即使在閱讀幫助文件後,我也沒有完全理解其差異。

但是在啓動R之後,圖書館仍在兩處尋找。

.libPaths() 
[1] "D:/RLibrary"      "C:/Program Files/R/R-3.3.1/library" 

這是爲什麼,以及如何將庫路徑更改爲我想要的路徑?

+0

僅更改爲您所需的路徑可能不是一個好主意,因爲一些R的默認包似乎只適用於默認文件夾。但是你的「D:/ RLibrary」文件夾現在應該是它尋找軟件包的第一個地方,它應該爲你做好準備。 – mkt

+0

也許試試packrat?這將創建一個本地項目目錄......它解決了很多令人討厭的庫混淆問題。 – Shape

回答

7

我建議你不要單一的目錄中的軟件包,因爲許多基礎軟件包都帶有R.相反,你需要一個用戶將安裝軟件包的單個目錄。

創建.Renviron文件,並添加環境變量R_LIBS指向你希望你的包在最終的目錄。在我的機器,我有

# Linux 
R_LIBS=/data/Rpackages/ 

或者,如果您有Windows類似

# Windows 
R_LIBS=C:/R/library 

.libPaths()現在看起來有點像

R> .libPaths() 
[1] "/data/Rpackages" "/usr/lib/R/site-library" 

這意味着,當我安裝一個軟件包它去/data/ncsg3/Rpackages


如果你真的想只有一個單獨的目錄,你可以設置R_LIBS_SITE變量省略的默認目錄。

+0

我很困惑。 「Rprofile.site」有什麼不同? – tomka

+0

請參閱https://csgillespie.github.io/efficientR/set-up.html - Renviron適用於環境變量。 – csgillespie

相關問題