我正在研究如何使用我的大学集群。它有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