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