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

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *