我正在研究如何使用我的大学集群。它安装了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()
它在r2.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似乎加载了为r2.11编译的snow版本包。我已经在r2.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 packages文件夹在搜索路径的第一个。但我还是得到了错误。
我的问题是,如何确定R中加载的是哪个版本的包?我可以看到安装。包所有的包,其中安装,所以也许有一些功能,列出类似的信息加载包?
要检查R的版本,执行:R——version
或者在R shell中打印版本$version.string的内容
EDIT
要检查已安装包的版本,请执行以下操作。
加载库之后,可以执行sessionInfo ()
但是要知道所有已安装包的列表:
packinfo <- installed.packages(fields = c("Package", "Version"))
packinfo[,c("Package", "Version")]
或来提取特定的库版本,一旦您使用已安装的。如上所述的包函数只是在矩阵的第一维中使用包的名称。
packinfo["RANN",c("Package", "Version")]
packinfo["graphics",c("Package", "Version")]
上面将打印RANN库和图形库的版本。
要检查R的版本,执行:R——version
或者在R shell中打印版本$version.string的内容
EDIT
要检查已安装包的版本,请执行以下操作。
加载库之后,可以执行sessionInfo ()
但是要知道所有已安装包的列表:
packinfo <- installed.packages(fields = c("Package", "Version"))
packinfo[,c("Package", "Version")]
或来提取特定的库版本,一旦您使用已安装的。如上所述的包函数只是在矩阵的第一维中使用包的名称。
packinfo["RANN",c("Package", "Version")]
packinfo["graphics",c("Package", "Version")]
上面将打印RANN库和图形库的版本。
老问题,但答案中没有我最喜欢的命令,以快速和简短的概述所有加载的包:
(.packages())
要查看所有加载的包安装了哪个版本,只需使用上面的命令对installed.packages()进行子集化。
installed.packages()[(.packages()),3]
通过更改列号(包版本为3),您可以以易于阅读的矩阵形式获得存储在installed.packages()中的任何其他信息。下面是版本号和依赖项的示例:
installed.packages()[(.packages()),c(3,5)]