Saya sedang dalam proses mencari tahu bagaimana menggunakan cluster universitas saya. Ini memiliki 2 versi R yang diinstal. Sistem lebar R 2.11 (Debian 6.0) dan R 2.14.2 di lokasi non-standar.
Saya mencoba menggunakan MPI bersama salju. Kode yang saya coba jalankan adalah sebagai berikut
library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()
Ia bekerja tanpa masalah di R 2.11. (Saya meluncurkan skrip dengan mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R
). Sekarang ketika saya mencoba melakukannya dengan R 2.14.2, saya mendapatkan pesan berikut:
Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:
Jadi sepertinya R memuat versi paket salju yang dikompilasi untuk R 2.11. Saya telah menginstal salju di bawah R 2.14 ke folder rumah saya dan saya menambahkan baris berikut ke kode saya:
.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)
Dan output sebelum kesalahan mengkonfirmasi bahwa saya memang menjalankan R 2.14.2 dan folder paket R saya adalah yang pertama di jalur pencarian. Tapi saya masih mendapatkan kesalahan.
Jadi pertanyaan saya adalah bagaimana cara menentukan versi paket mana yang dimuat dalam R? Saya dapat melihat dengan installed.packages
semua paket yang diinstal, jadi mungkin ada beberapa fungsi yang mencantumkan informasi serupa untuk paket yang dimuat?
Jawaban:
Anda dapat menggunakannya
sessionInfo()
untuk mencapai itu.Namun, sesuai komentar dan jawabannya di bawah, ada opsi yang lebih baik
[1] '0.3.9'
Atau:
sumber
packageVersion()
jauh lebih baik dalam banyak kasussessionInfo
. Lihat Catatan? SessionInfo: "Informasi tentang paket dan ruang nama 'dimuat' adalah versi saat ini yang diinstal di lokasi dari mana paket itu dimuat: itu bisa salah jika proses lain telah mengubah paket selama sesi." Jadi: jika Anda ingin tahu apakah paket itu dimuat atau tidak, lebih baik gunakan"Rmpi" %in% loadedNamespaces()
; jika Anda ingin tahu versi mana yang diinstal di lokasi tertentu, lebih baik gunakanpackageVersion(lib.loc = ...)
Anda dapat menggunakan
packageVersion
untuk melihat versi paket apa yang dimuatWalaupun sepertinya Anda ingin melihat versi R yang Anda jalankan, dalam hal ini
sessionInfo
saran @ Justin adalah cara untuk melakukannyasumber
Untuk memeriksa versi R, jalankan:
R --version
Atau setelah Anda berada di shell R cetak isi
version$version.string
EDIT
Untuk memeriksa versi paket yang diinstal lakukan hal berikut.
Setelah memuat perpustakaan, Anda dapat menjalankan
sessionInfo ()
Tetapi untuk mengetahui daftar semua paket yang diinstal:
ATAU untuk mengekstrak versi pustaka tertentu, setelah Anda mengekstraksi informasi menggunakan
installed.package
fungsi seperti di atas, cukup gunakan nama paket di dimensi pertama dari matriks.Di atas akan mencetak versi perpustakaan RANN dan perpustakaan grafik.
sumber
version
.packinfo[, "Version", drop=F]
memberikan hasil yang lebih cantik (nama paket tidak digandakan).Secara teknis, semua jawaban saat ini salah.
packageVersion
tidak mengembalikan versi paket yang dimuat. Ia pergi ke disk, dan mengambil versi paket dari sana.Ini tidak akan membuat perbedaan dalam kebanyakan kasus, tetapi kadang-kadang itu membuat perbedaan. Sejauh yang saya tahu, satu-satunya cara untuk mendapatkan versi dari paket yang dimuat adalah cara yang agak meretas:
dimana
pkg
nama paketnyaEDIT: Saya tidak yakin kapan fungsi ini ditambahkan, tetapi Anda juga dapat menggunakan
getNamespaceVersion
, ini lebih bersih:sumber
`:::`(pkg, .__NAMESPACE__.)$spec[["version"]]
adalah sinonim dariasNamespace()
metode untuk mendapatkan versi paket.packageVersion()
hanya menampilkan Anda hasil teratasinstalled.packages()
tetapi jika Anda memiliki beberapa versi dari paket yang sama, dan Anda memuatnya secara khusus, itu tidak akan memberi Anda jawaban yang benar.Anda dapat mencoba sesuatu seperti ini:
package_version(R.version)
getRversion()
sumber
Solusi GUI:
Jika Anda menggunakan RStudio maka Anda dapat memeriksa versi paket di
Packages
panel.sumber
Gunakan metode R
packageDescription
untuk mendapatkan deskripsi paket yang diinstal dan untuk versi cukup gunakan$Version
sebagai:sumber
Berdasarkan jawaban sebelumnya, berikut adalah cara sederhana untuk mencetak versi R, diikuti dengan nama dan versi setiap paket yang dimuat di namespace. Ini bekerja di notebook Jupyter, di mana saya mengalami kesulitan menjalankan
sessionInfo()
danR --version
.Di luar:
sumber
Pertanyaan lama, tetapi tidak ada di antara jawabannya adalah perintah favorit saya untuk mendapatkan ikhtisar singkat dan singkat dari semua paket yang dimuat:
Untuk melihat versi mana yang diinstal dari semua paket yang dimuat, cukup gunakan perintah di atas untuk subset
installed.packages()
.Dengan mengubah nomor kolom (3 untuk versi paket) Anda bisa mendapatkan informasi lain yang tersimpan dalam
installed.packages()
matriks yang mudah dibaca. Di bawah ini adalah contoh untuk nomor versi dan ketergantungan:sumber
Gunakan kode berikut untuk mendapatkan versi paket R yang terinstal di sistem:
sumber
Cukup gunakan
help(package="my_package")
dan lihat versi yang ditampilkan.Ini mengasumsikan tidak ada versi paket lain yang sama
.libPaths
.sumber
Cari () dapat memberikan daftar paket terlampir yang lebih disederhanakan dalam suatu sesi (yaitu, tanpa info rinci yang diberikan oleh sessionInfo ())
search {base} - R
Deskripsi Dokumentasi : Memberikan daftar paket terlampir. Cari()
sumber