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