Wie kann ich feststellen, ob ein bestimmtes Paket bereits installiert wurde?

8

Wenn ich das yaml-Paket installiere, erscheint eine nervige Fehlermeldung in RStudio, wenn es zuvor installiert wurde. Wie kann ich feststellen, ob das Paket bereits installiert wurde, damit ich in meinem Code entscheiden kann, ob das Paket installiert werden soll oder nicht?

Die Nachricht befindet sich in einem Popup-Fenster und lautet:

  

Eines oder mehrere der Pakete, die bei dieser Installation aktualisiert werden   sind momentan geladen. Neustart von R vor dem Aktualisieren dieser Pakete ist   wärmstens empfohlen. RStudio kann R und dann automatisch neu starten   Fortsetzen der Installation nach dem Neustart (alle Arbeiten und Daten werden sein   während des Neustarts erhalten). Möchten Sie R vorher neu starten?   installieren?

    
kng 16.07.2013, 17:37
quelle

4 Antworten

12

Dies lädt yaml und installiert es zuerst, wenn es noch nicht installiert ist:

%Vor%

oder wenn Sie es parametrieren möchten:

%Vor%

AKTUALISIEREN. Parametrisierung.

    
G. Grothendieck 16.07.2013, 17:43
quelle
8

Sie können installed.packages() verwenden, um installierte Pakete zu finden

    
Jilber Urbina 16.07.2013 17:39
quelle
3

Alternativ können Sie die Funktion require verwenden. Es wird versuchen, das Paket zu laden und eine logische Aussage zurückgeben, ob das Paket verfügbar ist oder nicht. Es gibt auch eine Warnung, wenn das Paket nicht geladen werden kann.

%Vor%     
ialm 16.07.2013 17:42
quelle
1

Ich verwende die folgende Konstruktion in meinem Code. Der wesentliche Teil besteht darin, library innerhalb von tryCatch aufzurufen und es zu installieren, wenn es fehlschlägt:

%Vor%

Die Funktion lib.auto wird bei Bedarf von CRAN und Bioconductor installiert. Der lib.auto.github wird von GitHub installiert.

Ich denke darüber nach, diesen Code in ein Paket zu pushen.

    
krlmlr 16.07.2013 17:41
quelle

Tags und Links