2013-05-21 181 views
2

在Windows 7 x64上,我安裝了R 3.0.0版。此外,我還將環境變量R_LIBS_USER設置爲指向網絡驅動器。在rgui.exe中,正在執行:在Windows 7上安裝R包7

Sys.getenv("R_LIBS_USER") 

輸出的值與我以前在上面設置的值相同。同樣從R,將軟件包安裝到由R_LIBS_USER指向的個人庫中工作正常。到現在爲止還挺好。

安裝了RStudio的0.97.551版本後,通過RStudio執行上述相同的代碼也會輸出相同的值(如預期的那樣)。但是,從RStudio,我嘗試將軟件包安裝到個人庫中失敗。該錯誤消息有效地指出RStudio無法寫入由R_LIBS_USER定義的個人庫。

在發佈到stackoverflow之前,我檢查了RStudio的支持論壇(http://support.rstudio.org/help/discussions/problems/4608-change-personal-library-for-installing-packages),其中管理員聲明問題與R而不是RStudio有關。管理員繼續參考RStudio IDE中的代碼

?.libPaths 

生成的RStudio文檔。管理員還通過鏈接http://support.rstudio.org/help/kb/troubleshooting/getting-help-with-r提供了其他指導。

查看IDE生成的文檔和論壇鏈接後,我確定我的環境設置正確。然而,RStudio仍然失敗。

有沒有人能夠獲得RStudio個人圖書館與文件系統位置以外的默認值?

我應該澄清我的需要多一點。該應用程序最終將部署到的環境禁止普通用戶以管理員身份運行RStudio,因此將重點放在R_LIBS_USER個人庫上。所以雖然我知道這會起作用,但對我來說這不是一個現實的選擇。

我需要的是RStudio專門寫信給R_LIBS_USER,而不是試圖也寫信給R_HOME(我的是什麼,我認爲它實際上是試圖做的假設。)

+0

嘗試以管理員身份運行RStudio。我有類似的問題;我最終重新安裝RStudio,擦拭我的庫並從頭開始,並且*總是*以管理員身份運行RStudio(您可以在其屬性中設置它)。 – Gregor

+0

謝謝您的評論shujaa。但最終使用此應用程序的環境會阻止普通用戶的管理員訪問,因此將重點放在R_LIBS_USER個人圖書館。 –

回答

0

.libPaths("~/your-lib-path-here")添加到您的.Rprofile和重新啓動R. .libPaths()可讓您編寫以及讀取默認庫集。大多數R命令(如install.packages)都有一個lib參數,可以讓您手動指定安裝命令(例如,您需要的庫可用但不一定是默認設置),但是大多數R命令(例如install.packages)都有一個lib參數,庫安裝到。

您可能會考慮使用R包管理系統,如Packrat,它可以自動完成將應用程序的依賴項安裝到私有庫的工作,而無需手動進行設置。 (完全披露,我是這個包的貢獻者。)它在RStudio下工作。