我正在研究如何使用我的大學集羣。它有2個版本的R安裝。系統範圍R 2.11(Debian 6.0)和R 2.14.2非標準位置。如何找出在R中加載哪個軟件包版本?
我正在嘗試將MPI與雪一起使用。我試圖運行的代碼如下
library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()
它在R 2.11中沒有問題。 (我用mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R
啓動腳本)。現在,當我嘗試有R 2.14.2做到這一點,我得到以下信息:
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
因此,似乎是R編譯加載的R 2.11包雪版本。我[R 2.14下安裝到雪我家的文件夾,並添加以下行到我的代碼:
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
和錯誤前的輸出證實我確實運行v 2.14.2和我的R封裝文件夾首先在搜索路徑中。但我仍然得到錯誤。
所以我的問題是如何確定在R中加載哪個版本的軟件包?我可以看到installed.packages
所有已安裝的軟件包,所以也許有一些函數列出了加載軟件包的類似信息?
您是否找到了解決此問題的好方法?根據我的經驗以及R幫助指出,sessionInfo和packageVersion都會返回安裝在加載軟件包位置的當前版本:如果另一個進程在會話期間一直在更改軟件包,則可能會出現錯誤。_ – RockScience