Hoe een string in een kolom te vervangen met dplyr


U kunt de volgende methoden gebruiken om een tekenreeks in een specifieke kolom van een dataframe te vervangen met behulp van functies in het dplyr- pakket:

Methode 1: Vervang een string door een nieuwe string

 library (dplyr)
library (stringr) 

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

Methode 2: Vervang meerdere strings door een nieuwe string

 library (dplyr)
library (stringr) 

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

De volgende voorbeelden laten zien hoe u elke methode kunt gebruiken met het volgende dataframe in R:

 #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

Voorbeeld 1: Vervang een string door een nieuwe string

De volgende code laat zien hoe je de string „East“ in de conf- kolom vervangt door de string „Eastern“:

 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

Merk op dat elke string „Oost“ is vervangen door „Oost“ in de conf- kolom, terwijl alle andere kolommen ongewijzigd zijn gebleven.

Voorbeeld 2: Vervang meerdere strings door een nieuwe string

De volgende code laat zien hoe je de strings ‚P_‘ en ‚S_‘ in de conf- kolom vervangt door een lege string:

 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

Merk op dat elke string ‚P_‘ en ‚S_‘ werd vervangen door een lege string in de positiekolom , terwijl alle andere kolommen ongewijzigd bleven.

Merk op dat we de operator „OR“ ( | ) hebben gebruikt om R te vertellen dat we alle strings die gelijk zijn aan „P_“ of „S_“ willen vervangen door een lege string.

U kunt zoveel “OR” ( | )-operatoren gebruiken als u wilt en zoveel waarden tegelijk in een kolom vervangen als u wilt.

Aanvullende bronnen

In de volgende tutorials wordt uitgelegd hoe u andere veelvoorkomende taken kunt uitvoeren met dplyr:

Hoe waarden te hercoderen met dplyr
Hoe NA te vervangen door Zero in dplyr
Hoe u rijen kunt filteren die een bepaalde tekenreeks bevatten met behulp van dplyr

Einen Kommentar hinzufügen

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