So ersetzen sie eine zeichenfolge in einer spalte mit dplyr


Sie können die folgenden Methoden verwenden, um eine Zeichenfolge in einer bestimmten Spalte eines Datenrahmens mithilfe von Funktionen im dplyr- Paket zu ersetzen:

Methode 1: Ersetzen Sie eine Zeichenfolge durch eine neue Zeichenfolge

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value ', ' new_value '))

Methode 2: Ersetzen Sie mehrere Zeichenfolgen durch eine neue Zeichenfolge

 library (dplyr)
library (stringr) 

df %>% 
  mutate(across(' column_name ', str_replace, ' old_value1|old_value2 ', ' new_value '))

Die folgenden Beispiele zeigen, wie jede Methode mit dem folgenden Datenrahmen in R verwendet wird:

 #create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West'),
                 position=c('P_Guard', 'P_Guard', 'S_Guard', 'S_Guard'),
                 dots=c(22, 25, 29, 13))

#view data frame
df

  conf position points
1 East P_Guard 22
2 East P_Guard 25
3 West S_Guard 29
4 West S_Guard 13

Beispiel 1: Ersetzen Sie eine Zeichenfolge durch eine neue Zeichenfolge

Der folgende Code zeigt, wie die Zeichenfolge „East“ in der Spalte „conf “ durch die Zeichenfolge „Eastern“ ersetzt wird:

 library (dplyr)
library (stringr)

#replace 'East' with 'Eastern' in conf column
df %>% 
  mutate(across(' conf ', str_replace, ' East ', ' Eastern '))

     conf position points
1 Eastern P_Guard 22
2 Eastern P_Guard 25
3 West S_Guard 29
4 West S_Guard 13

Beachten Sie, dass in der Spalte „ conf “ jede „East“-Zeichenfolge durch „Eastern“ ersetzt wurde, während alle anderen Spalten unverändert geblieben sind.

Beispiel 2: Ersetzen Sie mehrere Zeichenfolgen durch eine neue Zeichenfolge

Der folgende Code zeigt, wie die Zeichenfolgen „P_“ und „S_“ in der Spalte „conf“ durch eine leere Zeichenfolge ersetzt werden:

 library (dplyr)
library (stringr)

#replace 'P_' and 'S_' with empty string in position column
df %>% 
  mutate(across(' position ', str_replace, ' P_|S_ ', ''))

  conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13

Beachten Sie, dass jede Zeichenfolge „P_“ und „S_“ durch eine leere Zeichenfolge in der Positionsspalte ersetzt wurde, während alle anderen Spalten unverändert blieben.

Beachten Sie, dass wir den „OR“-Operator ( | ) verwendet haben, um R mitzuteilen, dass wir alle Zeichenfolgen, die „P_“ oder „S_“ entsprechen, durch eine leere Zeichenfolge ersetzen möchten.

Sie können beliebig viele „OR“-Operatoren ( | ) verwenden, um so viele Werte gleichzeitig in einer Spalte zu ersetzen, wie Sie möchten.

Zusätzliche Ressourcen

In den folgenden Tutorials wird erläutert, wie Sie andere häufige Aufgaben mit dplyr ausführen:

So kodieren Sie Werte mit dplyr neu
So ersetzen Sie NA durch Zero in dplyr
So filtern Sie Zeilen, die eine bestimmte Zeichenfolge enthalten, mit dplyr

Einen Kommentar hinzufügen

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