我正在弄清楚如何使用我的大学集群。它安装了2个R版本。系统范围的R 2.11(Debian 6.0)和R 2.14.2位于非标准位置。
我正在尝试与雪一起使用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编译的程序包snow版本。我已将R 2.14下的snow安装到主文件夹中,并在代码中添加了以下几行:
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
错误之前的输出确认我确实在运行R 2.14.2,并且我的R包文件夹位于搜索路径的第一位。但是我仍然得到错误。
所以我的问题是如何确定R中加载了哪个版本的软件包?我可以看到 installed.packages
已安装的所有软件包,因此也许有一些功能可以列出已加载软件包的类似信息?