567 Stimmen

Wie findet man heraus, welche Paketversion in R geladen ist?

Ich bin gerade dabei, herauszufinden, wie ich meinen Universitätscluster nutzen kann. Es sind 2 Versionen von R installiert. Systemweit R 2.11 (Debian 6.0) und R 2.14.2 an einem nicht standardisierten Ort.

Ich versuche, MPI zusammen mit Snow zu verwenden. Der Code, den ich auszuführen versuche, ist der folgende

library(snow)
library(Rmpi)
cl <- makeMPIcluster(mpi.universe.size()-1)
stopCluster(cl)
mpi.quit()

Es funktioniert ohne die Probleme auf R 2.11. (Ich starte das Skript mit mpirun -H localhost,n1,n2,n3,n4 -n 1 R --slave -f code.R ). Wenn ich nun versuche, dies mit R 2.14.2 zu tun, erhalte ich die folgende Meldung:

Error: This is R 2.11.1, package 'snow' needs >= 2.12.1
In addition: Warning message:

Es scheint also, dass R das Paket snow lädt, das für R 2.11 kompiliert wurde. Ich habe snow unter R 2.14 in meinem Home-Ordner installiert und die folgenden Zeilen zu meinem Code hinzugefügt:

.libPaths("/soft/R/lib/R/library")
.libPaths("~/R/x86_64-pc-linux-gnu-library/2.11")
print(.libPaths())
print(sessionInfo())
print(version)

Und die Ausgabe vor der Fehlermeldung bestätigt, dass ich tatsächlich R 2.14.2 verwende und mein R-Paketordner an erster Stelle im Suchpfad steht. Aber ich erhalte immer noch die Fehlermeldung.

Meine Frage ist also, wie kann ich feststellen, welche Version des Pakets in R geladen ist? Ich kann sehen mit installed.packages alle installierten Pakete, vielleicht gibt es also eine Funktion, die ähnliche Informationen für geladene Pakete auflistet?

15voto

epo3 Punkte 2781

GUI-Lösung:

Wenn Sie RStudio verwenden, können Sie die Paketversion in der Packages fenster.

enter image description here

8voto

krishna Prasad Punkte 3127

Verwenden Sie die R-Methode packageDescription um die Beschreibung des installierten Pakets zu erhalten und für die Version verwenden Sie einfach $Version als:

packageDescription("AppliedPredictiveModeling")$Version
[1] "1.1-6"

5voto

joelostblom Punkte 33814

Basierend auf den vorangegangenen Antworten ist hier eine einfache Alternative zum Ausdrucken der R-Version, gefolgt vom Namen und der Version jedes im Namespace geladenen Pakets. Es funktioniert im Jupyter-Notebook, wo ich Probleme mit der Ausführung hatte sessionInfo() y R --version .

print(paste("R", getRversion()))
print("-------------")
for (package_name in sort(loadedNamespaces())) {
    print(paste(package_name, packageVersion(package_name)))
}

Aus:

[1] "R 3.2.2"
[1] "-------------"
[1] "AnnotationDbi 1.32.2"
[1] "Biobase 2.30.0"
[1] "BiocGenerics 0.16.1"
[1] "BiocParallel 1.4.3"
[1] "DBI 0.3.1"
[1] "DESeq2 1.10.0"
[1] "Formula 1.2.1"
[1] "GenomeInfoDb 1.6.1"
[1] "GenomicRanges 1.22.3"
[1] "Hmisc 3.17.0"
[1] "IRanges 2.4.6"
[1] "IRdisplay 0.3"
[1] "IRkernel 0.5"

5voto

TimTeaFan Punkte 14339

Alte Frage, aber nicht unter den Antworten ist mein Lieblingsbefehl, um einen schnellen und kurzen Überblick über alle geladenen Pakete zu bekommen:

(.packages())

Um zu sehen, welche Version von allen geladenen Paketen installiert ist, verwenden Sie einfach den obigen Befehl, um eine Teilmenge installed.packages() .

installed.packages()[(.packages()),3]

Durch Ändern der Spaltennummer (3 für die Paketversion) können Sie alle anderen Informationen abrufen, die in installed.packages() in einer leicht lesbaren Matrix. Unten finden Sie ein Beispiel für Versionsnummer und Abhängigkeit:

installed.packages()[(.packages()),c(3,5)]

2voto

Search() kann eine vereinfachte Liste der angehängten Pakete in einer Sitzung liefern (d.h. ohne die detaillierten Informationen, die von sessionInfo() geliefert werden)

Suche {Basis}- R Dokumentation
Beschreibung: Zeigt eine Liste der angehängten Pakete. Suchen()

search()
#[1] ".GlobalEnv"        "package:Rfacebook" "package:httpuv"   
#"package:rjson"    
#[5] "package:httr"      "package:bindrcpp"  "package:forcats"   # 
#"package:stringr"  
#[9] "package:dplyr"     "package:purrr"     "package:readr"     
#"package:tidyr"    
#[13] "package:tibble"    "package:ggplot2"   "package:tidyverse" 
#"tools:rstudio"    
#[17] "package:stats"     "package:graphics"  "package:grDevices" 
#"package:utils"    
#[21] "package:datasets"  "package:methods"   "Autoloads"         
#"package:base"

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X