Dplyr kullanarak bir sütundaki dize nasıl değiştirilir?


Dplyr paketindeki işlevleri kullanarak bir veri çerçevesinin belirli bir sütunundaki bir dizeyi değiştirmek için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Bir dizeyi yeni bir dizeyle değiştirin

 library (dplyr)
library (stringr) 

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

Yöntem 2: Birden çok dizeyi yeni bir dizeyle değiştirin

 library (dplyr)
library (stringr) 

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

Aşağıdaki örnekler, R’de her yöntemin aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:

 #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

Örnek 1: Bir dizeyi yeni bir dizeyle değiştirme

Aşağıdaki kod, conf sütunundaki “Doğu” dizesinin “Doğu” dizesiyle nasıl değiştirileceğini gösterir:

 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

Conf sütununda her “Doğu” dizesinin “Doğu” ile değiştirildiğini, diğer tüm sütunların ise değişmediğini unutmayın.

Örnek 2: Birden çok dizeyi yeni bir dizeyle değiştirme

Aşağıdaki kod, conf sütunundaki ‘P_’ ve ‘S_’ dizelerinin boş bir dizeyle nasıl değiştirileceğini gösterir:

 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

Her ‘P_’ ve ‘S_’ dizisinin konum sütunundaki boş bir dizeyle değiştirildiğini, diğer tüm sütunların ise değiştirilmediğini unutmayın.

R’ye “P_” veya “S_”ye eşit tüm dizeleri boş bir dizeyle değiştirmek istediğimizi söylemek için “OR” operatörünü ( | ) kullandığımızı unutmayın.

Bir sütunda aynı anda istediğiniz kadar değeri değiştirmek için istediğiniz kadar “OR” ( | ) operatörünü kullanmaktan çekinmeyin.

Ek kaynaklar

Aşağıdaki eğitimlerde dplyr kullanılarak diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

Dplyr kullanarak değerler nasıl yeniden kodlanır
Dplyr’de NA’yı Sıfır ile nasıl değiştirebilirim?
Belirli bir dizeyi içeren satırları dplyr kullanarak nasıl filtreleyebilirim?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir