Как узнать, какая версия пакета загружена в R?

Я пытаюсь выяснить, как использовать мой университетский кластер. Установлено 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 в свою домашнюю папку и добавил в свой код следующие строки:

.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? Я вижу с помощью install.packagesвсе установленные пакеты, так что, может быть, есть какая-то функция, которая выводит аналогичную информацию для загруженных пакетов?

368
задан epo3 17 January 2017 в 08:08
поделиться