r - 如何找出 R 中加载的包版本?

标签 r package version

我正在研究如何使用我的大学集群。它安装了 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 看到所有已安装的软件包,所以也许有一些函数列出了已加载软件包的类似信息?

最佳答案

您可以使用 sessionInfo() 来完成此操作。

> sessionInfo()
R version 2.15.0 (2012-03-30)
Platform: x86_64-pc-linux-gnu (64-bit)

locale:
 [1] LC_CTYPE=en_US.UTF-8       LC_NUMERIC=C               LC_TIME=en_US.UTF-8        LC_COLLATE=en_US.UTF-8    
 [5] LC_MONETARY=en_US.UTF-8    LC_MESSAGES=en_US.UTF-8    LC_PAPER=C                 LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C       

attached base packages:
[1] graphics  grDevices utils     datasets  stats     grid      methods   base     

other attached packages:
[1] ggplot2_0.9.0  reshape2_1.2.1 plyr_1.7.1    

loaded via a namespace (and not attached):
 [1] colorspace_1.1-1   dichromat_1.2-4    digest_0.5.2       MASS_7.3-18        memoise_0.1        munsell_0.3       
 [7] proto_0.3-9.2      RColorBrewer_1.0-5 scales_0.2.0       stringr_0.6       
> 

但是,根据下面的评论和答案,还有更好的选择

> packageVersion("snow")

[1]‘0.3.9’

或者:

"Rmpi" %in% loadedNamespaces()

关于r - 如何找出 R 中加载的包版本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11103189/

相关文章:

r - strsplit 不一致工作,字母之间的字符不是空格?

ruby-on-rails - 限制mongoid中的版本属性

java - Hadoop上出现UnsupportedClassVersionError,版本没有明显变化

java - 如何找到 Tomcat6 使用的 Java 版本?

python - 无法在 Windows 上使用 python-mnist 包加载 MNIST 数据

R - c() 意外地将命名向量的名称转换为 UTF-8。这是一个错误吗?

r - 根据 R 中另一列中的字符串对维恩图的一列中的所有值进行计数

r - 将变量添加到嵌套列表

python - Python 包可以包含用 C 或 C++ 编写的模块吗?

Python setuptools 安装为可编辑