Die Funk­tio­nen R gsub() und sub() können Sie leicht anwenden und mit anderen R-Funk­tio­nen kom­bi­nie­ren, um komplexe Text­ma­ni­pu­la­tio­nen durch­zu­füh­ren. Sie sind nahtlos in Da­ten­ana­ly­sen und sta­tis­ti­sche Be­rech­nun­gen in­te­grier­bar.

Wozu dienen gsub() und sub() in R?

R gsub() und sub() sind Funk­tio­nen zum Ersetzen von Mustern in Zei­chen­ket­ten. Die sub()-Funktion, kurz für „sub­sti­tu­te“, er­mög­licht, das erste Vorkommen eines be­stimm­ten Musters in einer Zei­chen­ket­te zu finden und durch einen anderen Ausdruck aus­zu­tau­schen. Es handelt sich um eine einmalige Ersetzung. Im Vergleich dazu steht die gsub()-Funktion für „global sub­sti­tu­te“. Diese Methode sucht nach allen Vorkommen eines spe­zi­fi­zier­ten Musters in einem String und ersetzt sie global durch einen anderen Ausdruck.

Beide Funk­tio­nen finden eine breite Anwendung in der Da­ten­be­rei­ni­gung und -trans­for­ma­ti­on. Ihr Haupt­zweck liegt in der Ent­fer­nung un­er­wünsch­ter Muster oder der Anpassung von Textdaten. R gsub() und sub() spielen dabei eine ent­schei­den­de Rolle bei der Text­ma­ni­pu­la­ti­on in sta­tis­ti­schen Analysen oder Machine-Learning-An­wen­dun­gen in R. Hier können Sie gsub() und sub() dazu einsetzen, um bestimmte Muster zu ex­tra­hie­ren oder um Daten in einer für die Analyse ge­eig­ne­ten Form zu trans­for­mie­ren.

Das ist die Syntax von R gsub() und sub()

Die Syntax der Funk­tio­nen gsub() und sub() in R ist recht ähnlich. Beide Methoden ak­zep­tie­ren die folgenden Parameter:

  • pattern: das zu suchende Muster, entweder in Form eines Strings oder regulären Ausdrucks
  • re­pla­ce­ment: der Ausdruck, der das gefundene Muster ersetzen soll
  • x: Vektor oder Da­ten­rah­men (data frame), in dem die Suche und Ersetzung durch­ge­führt wird

Der Aufbau von R gsub()

gsub(pattern, replacement, x)
R

Die grund­le­gen­de Syntax von R sub()

sub(pattern, replacement, x)
R

Prak­ti­sche Beispiele für R gsub()

Die Wahl zwischen sub() und gsub() hängt von den An­for­de­run­gen der Mus­ter­er­set­zung ab. Die Be­son­der­heit von R gsub() ist es, alle Vorkommen eines Musters zu bestimmen und aus­zu­tau­schen.

Leer­zei­chen entfernen

Sie können mit gsub() zum Beispiel über­flüs­si­ge Leer­zei­chen in Strings be­rei­ni­gen.

sentence <- "  Data Science  is  powerful.  "
clean_sentence <- gsub("\\s+", " ", sentence)
cat(clean_sentence)
R

Wir erhalten die Ausgabe:

"Data Science is powerful."
R

Der reguläre Ausdruck \\s+ passt auf ein oder mehrere auf­ein­an­der­fol­gen­de Leer­zei­chen, was effektiv White­space im Satz aufräumt.

Te­le­fon­num­mern ersetzen

R gsub() ist praktisch, um sensible Daten wie Te­le­fon­num­mern zu an­ony­mi­sie­ren oder zu entfernen.

text <- "Contact us at 123-456-7890 for more information."
modified_text <- gsub("\\d{3}-\\d{3}-\\d{4}", "redacted phone number", text)
cat(modified_text)
R

Output:

"Contact us at redacted phone number for more information."
R

In diesem Beispiel ex­tra­hie­ren wir mit dem regulären Ausdruck \\d{3}-\\d{3}-\\d{4} die Te­le­fon­num­mer und ersetzen alle Zahlen im String text durch den Platz­hal­ter "redacted phone number".

An­wen­dungs­bei­spie­le für R sub()

Wenn Sie nur das erste Auftreten eines Musters ersetzen wollen, verwenden Sie sub().

Ersetzen des ersten Vor­kom­mens von Wörtern

Nehmen wir an, wir haben einen String mit einer Wort­wie­der­ho­lung und wollen das erste Wort aus­tau­schen:

text <- "Data Science is powerful. Data Analysis is fun."
result_sub <- sub("Data", "Information", text)
cat(result_sub)
R

Die Ausgabe zeigt uns:

"Information Science is powerful. Data Analysis is fun."
R

R sub() durch­sucht den Text nach dem Muster "Data" und ersetzt nur das erste gefundene Vorkommen durch den an­ge­ge­be­nen Er­satz­text "Information".

Ersetzen von Zahlen

Auch mit sub() können wir Zahlen ersetzen.

numeric_text <- "The cost is $1000. Please pay by 01.02.2024."
result <- sub("\\d+", "2000", numeric_text)
cat(result)
R

Output:

"The cost is $2000. Please pay by 01.02.2024."
R

Der reguläre Ausdruck \\d+ passt auf eine oder mehr Ziffern, wobei sub() nur die ersten zu­sam­men­hän­gen­den Zahlen im Text aus­tauscht.

Tipp

Weitere Er­klä­run­gen zu R-Funk­tio­nen wie R substring oder R bind können Sie in unserem Digital Guide lesen.

Web­hos­ting
Das beste Web­hos­ting zum Spit­zen­preis
  • 3x schneller und 60 % günstiger
  • Maximale Ver­füg­bar­keit mit > 99.99 %
  • Nur bei IONOS: Bis zu 500 GB Spei­cher­platz inklusive
Zum Hauptmenü