Як замінити рядок у стовпці за допомогою dplyr


Ви можете використовувати такі методи, щоб замінити рядок у певному стовпці кадру даних за допомогою функцій у пакеті dplyr :

Спосіб 1. Замініть рядок новим рядком

 library (dplyr)
library (stringr) 

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

Спосіб 2. Замініть кілька рядків на новий

 library (dplyr)
library (stringr) 

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

У наведених нижче прикладах показано, як використовувати кожен метод із таким кадром даних у 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

Приклад 1: замініть рядок новим рядком

Наступний код показує, як замінити рядок “East” у стовпці conf на рядок “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

Зверніть увагу, що кожен рядок «East» було замінено на «Eastern» у стовпці conf , тоді як усі інші стовпці залишилися без змін.

Приклад 2: замініть кілька рядків на новий рядок

Наступний код показує, як замінити рядки «P_» і «S_» у стовпці conf порожнім рядком:

 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

Зауважте, що кожен рядок «P_» і «S_» було замінено порожнім рядком у стовпці позиції , а всі інші стовпці залишили без змін.

Зауважте, що ми використовували оператор «АБО» ( | ), щоб повідомити R, що ми хочемо замінити всі рядки, що дорівнюють «P_» або «S_», порожнім рядком.

Не соромтеся використовувати скільки завгодно операторів «АБО» ( | ), щоб замінити скільки завгодно значень у стовпці за раз.

Додаткові ресурси

У наступних посібниках пояснюється, як виконувати інші типові завдання за допомогою dplyr:

Як перекодувати значення за допомогою dplyr
Як замінити NA на Zero в dplyr
Як фільтрувати рядки, що містять певний рядок, за допомогою dplyr

Додати коментар

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *