Der unterschied zwischen require() und library() in r


Sowohl die Funktionen require() als auch Library() können zum Laden von Paketen in R verwendet werden, sie haben jedoch einen kleinen Unterschied:

  • require() zeigt eine Warnung an, wenn ein Paket nicht installiert ist, und führt dann den Code weiter aus.
  • „library()“ gibt einen Fehler aus und stoppt die Codeausführung.

Aufgrund dieses Unterschieds wird require() im Allgemeinen nur verwendet, wenn Sie Pakete in eine Funktion laden, sodass die Funktion auch dann weiter ausgeführt wird, wenn kein Paket vorhanden ist.

In der Praxis empfehlen die meisten Programmierer die Verwendung von „library()“ , da Sie eine Fehlermeldung erhalten möchten, die Sie darüber informiert, dass ein Paket nicht installiert ist.

Dies sollten Sie beim Schreiben von Code so früh wie möglich berücksichtigen.

Das folgende Beispiel veranschaulicht den Unterschied zwischen den Funktionen „require()“ und „library()“ in der Praxis.

Beispiel: der Unterschied zwischen require() und Library() in R

Angenommen, wir möchten den BostonHousing- Datensatz aus dem mlbench- Paket laden, nehmen jedoch an, dass das mlbench- Paket noch nicht installiert ist.

Der folgende Code zeigt, wie Sie mit der Funktion „library()“ versuchen, dieses Paket zu laden und eine Datenanalyse für den BostonHousing- Datensatz durchzuführen:

 #attempt to load mlbench library
library (mlbench)

Error in library(mlbench): there is no package called 'mlbench'

#load Boston Housing dataset
data(BostonHousing)

#view summary of Boston Housing dataset
summary(BostonHousing)

#view total number of rows in Boston Housing dataset
nrow(BostonHousing)

Da das mlbench- Paket noch nicht installiert ist, erhalten wir eine Fehlermeldung, wenn wir die Funktion „library()“ verwenden und der Rest des Codes wird noch nicht einmal ausgeführt.

Dies ist nützlich, da es uns sofort mitteilt, dass dieses Paket nicht installiert ist und wir es installieren müssen, bevor wir fortfahren können.

Angenommen, wir verwenden stattdessen require(), um das mlbench- Paket zu laden:

 #attempt to load mlbench library
require (mlbench)

Warning message:
In library(package, lib.loc = lib.loc, character.only = TRUE, logical.return = TRUE, :
  there is no package called 'mlbench'

#load Boston Housing dataset
data(BostonHousing)

Warning message:
In data(BostonHousing) : data set 'BostonHousing' not found

#view summary of Boston Housing dataset
summary(BostonHousing)

Error in summary(BostonHousing): object 'BostonHousing' not found

#view total number of rows in Boston Housing dataset
nrow(BostonHousing)

In diesem Beispiel erhalten wir keine Fehlermeldung, bis wir versuchen, mit der Funktion summary() den BostonHousing- Datensatz zusammenzufassen.

Stattdessen erhalten wir nach Verwendung der Funktion require() eine Warnung und der Rest des Codes wird weiter ausgeführt, bis ein Fehler auftritt.

Dieses Beispiel veranschaulicht den Unterschied zwischen „library()“ und „require()“ in R: Die Funktion „library()“ erzeugt sofort einen Fehler und führt den Rest des Codes nicht aus, da mlbench nicht geladen ist.

Aus diesem Grund werden Sie in den meisten Szenarien beim Laden von Paketen die Funktion „library()“ verwenden wollen.

Bonus: Überprüfen Sie, ob ein bestimmtes Paket installiert ist

Mit der Funktion system.file() können wir prüfen, ob ein bestimmtes Paket in unserer aktuellen R-Umgebung installiert ist.

Beispielsweise können wir die folgende Syntax verwenden, um zu überprüfen, ob das Paket ggplot2 in der aktuellen R-Umgebung installiert ist:

 #check if ggplot2 is installed
system. file (package=' ggplot2 ')

[1] "C:/Users/bob/Documents/R/win-library/4.0/ggplot2"

Da ggplot2 installiert ist, gibt die Funktion einfach den Dateipfad zurück, in dem das Paket installiert ist.

Nehmen wir nun an, wir prüfen, ob das mlbench- Paket installiert ist:

 #check if mlbench is installed
system. file (package=' mlbench ')

[1] ""

Die Funktion gibt eine leere Zeichenfolge zurück, die uns mitteilt, dass das mlbench- Paket in unserer aktuellen Umgebung nicht installiert ist.

Zusätzliche Ressourcen

Die folgenden Tutorials erklären, wie Sie andere häufige Aufgaben in R ausführen:

So laden Sie mehrere Pakete in R
So löschen Sie die Umgebung in R
So löschen Sie alle Diagramme in RStudio

Einen Kommentar hinzufügen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert