So verwenden Sie sub() und gsub() in R

Einführung

Die Funktionen sub() und gsub() in R ersetzen den String oder die Zeichen in einem Vektor oder einem Datenrahmen durch einen spezifischen String. Diese Funktionen sind nützlich, wenn Änderungen an großen Datensätzen vorgenommen werden.

In diesem Artikel erfahren Sie, wie Sie die Funktionen sub() und gsub() in R verwenden können.

Voraussetzungen

Um dieses Tutorial abzuschließen, benötigen Sie:

  • R installed locally or on a server.

Syntax von sub() und gsub()

Die grundlegende Syntax für sub() lautet:

sub(pattern, replacement, x)

Die grundlegende Syntax für gsub() lautet:

gsub(pattern, replacement, x)

Die Syntax für sub() und gsub() erfordert ein Muster, eine Ersetzung und den Vektor oder den Datenrahmen:

  • Muster: Das Muster oder der String, der ersetzt werden soll.
  • Ersetzung: Ein Eingabestring, um den Musterstring zu ersetzen.
  • x: A vector or a data frame to substitute the strings.

Das Muster kann auch in Form eines regulären Ausdrucks (Regex) vorliegen.

Nun, da Sie mit der Syntax vertraut sind, können Sie zur Implementierung übergehen.

Die Funktion sub() in R

Die Funktion sub() in R ersetzt den String in einem Vektor oder einem Datenrahmen durch den Eingabe- oder den angegebenen String.

Allerdings hat die sub()-Funktion die Einschränkung, dass sie nur das erste Vorkommen ersetzt.

1. Verwendung der sub()-Funktion

In diesem Beispiel erfahren Sie, wie Sie mit der sub()-Funktion ein String-Muster durch einen Ersatzstring ersetzen können.

# der Eingabevektor 
df<-"R is an open-source programming language widely used for data analysis and statistical computing."

# der Ersatz
sub('R','The R language',df)

Die Ausführung dieses Befehls erzeugt die folgende Ausgabe:

Output
"The R language is an open-source programming language widely used for data analysis and statistical computing."

Die sub()-Funktion ersetzt den String 'R' im Vektor durch den String 'Die R-Sprache'.

In diesem Beispiel gab es nur eine einzige Übereinstimmung des Musters. Überlegen Sie, was passiert, wenn es mehrere Übereinstimmungen gibt.

# der Eingabevektor
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

# der Ersatz
sub('R','The R language',df)

Bei Ausführung dieses Befehls wird folgende Ausgabe generiert:

"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

In diesem Beispiel ist zu erkennen, dass die Funktion sub() das erste Auftreten des Strings 'R' durch 'The R language' ersetzt hat. Das nächste Auftreten im String bleibt jedoch unverändert.

2. Verwendung der Funktion sub() mit einem Datenrahmen

Die Funktion sub() funktioniert auch mit Datenrahmen.

# Erstellen eines Datenrahmens
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

# Datenrahmen
df

Dies erstellt den folgenden Datenrahmen:

      Creature Population
1     Starfish          5
2    Blue Crab          6
3 Bluefin Tuna          4
4   Blue Shark          2
5   Blue Whale          2

Dann ersetzen Sie die Zeichen 'Blue' durch die Zeichen 'Green':

# Werte ersetzen
sub('Blue','Green',df)

Bei Ausführung dieses Befehls wird folgende Ausgabe generiert:

Output
"c(\"Starfish\", \"Green Crab\", \"Bluefin Tuna\", \"Blue Shark\", \"Blue Whale\")" "c(5, 6, 4, 2, 2)"

Sie können auch eine bestimmte Spalte angeben, um alle Vorkommen von 'Blue' durch 'Green' zu ersetzen:

# Werte ersetzen
sub('Blue','Green',df$Creature)

Bei Ausführung dieses Befehls wird folgende Ausgabe generiert:

Output
"Starfish" "Green Crab" "Greenfin Tuna" "Green Shark" "Green Whale"

Alle Vorkommen der Zeichen 'Blue' wurden durch 'Green' ersetzt.

Die Funktion gsub() in R

Die Funktion gsub() in R wird für Ersatzoperationen verwendet. Die Funktion nimmt die Eingabe und ersetzt sie durch die angegebenen Werte.

Im Gegensatz zur Funktion sub() wendet gsub() eine globale Ersetzung auf alle Treffer an.

1. Verwendung der Funktion gsub()

In diesem Beispiel erfahren Sie, wie Sie mit der Funktion gsub() ein Zeichenmuster durch ein Ersatzzeichen ersetzen.

# der Eingabevektor
df<-"In this tutorial, we will install R and show how to add packages from the official Comprehensive R Archive Network (CRAN)."

Dies sind Daten, in denen mehrmals das Zeichen 'R' vorkommt.

# Ersetzen der Werte mit gsub()
gsub('R','The R language',df)
Output
"In this tutorial, we will install The R language and show how to add packages from the official Comprehensive The R language Archive Network (CThe R languageAN)."

Alle Vorkommen von ‚R‚ wurden ersetzt (einschließlich der Vorkommen in "Comprehensive R Archive Network" und "CRAN"). Die Funktion gsub() findet jedes Wort, das mit dem Parameter übereinstimmt, und ersetzt es durch das Eingabewort oder die Werte.

2. Verwenden der Funktion gsub() mit Datenrahmen

Die Funktion gsub() funktioniert auch mit Datenrahmen.

# Erstellen eines Datenrahmens
df<-data.frame(Creature=c('Starfish','Blue Crab','Bluefin Tuna','Blue Shark','Blue Whale'),Population=c(5,6,4,2,2))

Lassen Sie uns die Werte in der Spalte Creature mit 'Tiefsee ' als Präfix versehen:

# Ersetzen der Werte
gsub('.*^','Deep Sea ',df$Creature)

Das Ausführen dieses Befehls erzeugt die folgende Ausgabe:

Output
"Deep Sea Starfish" "Deep Sea Blue Crab" "Deep Sea Bluefin Tuna" "Deep Sea Blue Shark" "Deep Sea Blue Whale"

In diesem Beispiel verwendet die Funktion gsub() den regulären Ausdruck (regex): .*^. Dies ist ein Muster für die Position am Anfang des Strings.

Fazit

In diesem Artikel haben Sie gelernt, wie man die Funktionen sub() und gsub() in R verwendet. Diese Funktionen ersetzen den String oder die Zeichen in einem Vektor oder einem Datenrahmen durch einen bestimmten String. Die Funktion sub() gilt für das erste Vorkommen. Die Funktion gsub() gilt für alle Vorkommen.

Weiterführende Informationen finden Sie in Wie man replace() in R verwendet.

Source:
https://www.digitalocean.com/community/tutorials/sub-and-gsub-function-r