Jak zamienić ciąg w kolumnie za pomocą dplyr
Aby zastąpić ciąg znaków w określonej kolumnie ramki danych, korzystając z funkcji pakietu dplyr , możesz użyć następujących metod:
Metoda 1: Zastąp ciąg nowym ciągiem
library (dplyr) library (stringr) df %>% mutate(across(' column_name ', str_replace, ' old_value ', ' new_value '))
Metoda 2: Zastąp wiele ciągów nowym ciągiem
library (dplyr) library (stringr) df %>% mutate(across(' column_name ', str_replace, ' old_value1|old_value2 ', ' new_value '))
Poniższe przykłady pokazują, jak używać każdej metody z następującą ramką danych w 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
Przykład 1: Zastąp ciąg nowym ciągiem
Poniższy kod pokazuje, jak zastąpić ciąg „East” w kolumnie conf ciągiem „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
Zauważ, że każdy ciąg „East” został zastąpiony ciągiem „Eastern” w kolumnie conf , podczas gdy wszystkie pozostałe kolumny pozostały niezmienione.
Przykład 2: Zastąp wiele ciągów nowym ciągiem
Poniższy kod pokazuje, jak zastąpić ciągi „P_” i „S_” w kolumnie conf pustym ciągiem:
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
Należy zauważyć, że każdy ciąg „P_” i „S_” został zastąpiony pustym ciągiem w kolumnie pozycji , podczas gdy wszystkie pozostałe kolumny pozostały niezmienione.
Zauważ, że użyliśmy operatora „OR” ( | ), aby poinformować R, że chcemy zastąpić wszystkie ciągi równe „P_” lub „S_” pustym ciągiem.
Możesz użyć dowolnej liczby operatorów „OR” ( | ), ile chcesz zamienić dowolną liczbę wartości w kolumnie na raz.
Dodatkowe zasoby
Poniższe samouczki wyjaśniają, jak wykonywać inne typowe zadania za pomocą dplyr:
Jak przekodować wartości za pomocą dplyr
Jak zamienić NA na Zero w dplyr
Jak filtrować wiersze zawierające określony ciąg za pomocą dplyr