Dplyr kullanarak bir veri çerçevesindeki birden çok değer nasıl değiştirilir?
R’deki bir veri çerçevesindeki birden çok değeri dplyr paketindeki işlevleri kullanarak değiştirmek için aşağıdaki temel sözdizimini kullanabilirsiniz:
library (dplyr) df %>% mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))
Aşağıdaki örnek, bu sözdiziminin pratikte nasıl kullanılacağını gösterir.
Örnek: dplyr kullanarak birden çok değeri değiştirme
R’de çeşitli basketbol oyuncuları hakkında bilgi içeren aşağıdaki veri çerçevesine sahip olduğumuzu varsayalım:
#create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
dots=c(22, 25, 29, 13, 18))
#view data frame
df
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18
Şimdi veri çerçevesindeki aşağıdaki değerleri değiştirmek istediğimizi varsayalım:
- ‘conf’ sütunu:
- “Doğu”yu “E” ile değiştirin
- “Batı”yı “W” olarak değiştirin
- “Kuzey”i “N” ile değiştirin
- “Konum” sütunu:
- “Koruma”yı “G” olarak değiştirin
- “İleri”yi “F” olarak değiştirin
Bunu yapmak için mutate() ve recode() işlevlerini kullanabiliriz:
library (dplyr) #replace multiple values in conf and position columns df %>% mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F ')) conf position points 1EG 22 2 EG 25 3 WG 29 4 WG 13 5 NF 18
“Conf” ve “position” sütunlarındaki değerlerin her birinin belirli değerlerle değiştirildiğini unutmayın.
Ayrıca “puan” sütunundaki değerlerin değişmediğini unutmayın.
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?