R'de veri temizleme nasıl yapılır (örnekle)
Veri temizleme, ham verilerin analize veya model oluşturmaya uygun verilere dönüştürülmesi sürecini ifade eder.
Çoğu durumda, bir veri kümesini “temizlemek”, eksik değerlerle ve yinelenen verilerle uğraşmayı içerir.
R’de bir veri kümesini “temizlemek” için en yaygın yöntemler şunlardır:
Yöntem 1: Eksik değerleri olan satırları kaldırın
library (dplyr) #remove rows with any missing values df %>% na. omit ()
Yöntem 2: Eksik değerleri başka bir değerle değiştirin
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))
Yöntem 3: Yinelenen Satırları Kaldırma
library (dplyr) df %>% distinct(. keep_all = TRUE )
Aşağıdaki örnekler, çeşitli basketbol oyuncuları hakkında bilgi içeren R’deki aşağıdaki veri çerçevesiyle bu yöntemlerin her birinin pratikte nasıl kullanılacağını göstermektedir:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I'), points=c(4, 4, NA, 8, 6, 12, 14, 86, 13, 8), rebounds=c(9, 9, 7, 6, 8, NA, 9, 14, 12, 11), assists=c(2, 2, NA, 7, 6, 6, 9, 10, NA, 14)) #view data frame df team points rebound assists 1 to 4 9 2 2 to 4 9 2 3 B NA 7 NA 4 C 8 6 7 5 D 6 8 6 6 E 12 NA 6 7 F 14 9 9 8 G 86 14 10 9:13:12 NA 10 I 8 11 14
Örnek 1: Eksik değerleri olan satırları silin
Herhangi bir sütunda eksik değerleri olan satırları kaldırmak için aşağıdaki sözdizimini kullanabiliriz:
library (dplyr) #remove rows with missing values new_df <- df %>% na. omit () #view new data frame new_df team points rebound assists 1 to 4 9 2 2 to 4 9 2 4 C 8 6 7 5 D 6 8 6 7 F 14 9 9 8 G 86 14 10 10 I 8 11 14
Yeni veri çerçevesinin eksik değerleri olan herhangi bir satır içermediğini unutmayın.
Örnek 2: Eksik değerleri başka bir değerle değiştirin
Eksik değerleri her sütunun medyan değeriyle değiştirmek için aşağıdaki sözdizimini kullanabiliriz:
library (dplyr) library (tidyr) #replace missing values in each numeric column with median value of column new_df <-df %>% mutate(across(where(is. numeric ),~replace_na(.,median(.,na. rm = TRUE )))) #view new data frame new_df team points rebound assists 1 to 4 9 2.0 2 to 4 9 2.0 3 B 8 7 6.5 4 C 8 6 7.0 5 D 6 8 6.0 6 E 12 9 6.0 7 F 14 9 9.0 8 G 86 14 10.0 9:13 12 6.5 10 I 8 11 14.0
Her sayısal sütundaki eksik değerlerin her birinin, sütunun medyan değeriyle değiştirildiğini unutmayın.
Eksik değerleri her sütunun ortalama değeriyle değiştirmek için formüldeki medyanı ortalamayla da değiştirebileceğinizi unutmayın.
Not : Drop_na() işlevi o paketten geldiğinden bu örnekte Tidyr paketini de yüklememiz gerekti.
Örnek 3: Yinelenen satırları kaldırın
Eksik değerleri her sütunun medyan değeriyle değiştirmek için aşağıdaki sözdizimini kullanabiliriz:
library (dplyr) #remove duplicate rows new_df <- df %>% distinct(. keep_all = TRUE ) #view new data frame new_df team points rebound assists 1 to 4 9 2 2 B NA 7 NA 3 C 8 6 7 4 D 6 8 6 5 E 12 NA 6 6 F 14 9 9 7 G 86 14 10 8:13:12 NA 9 I 8 11 14
İkinci satırdaki değerlerin her biri, birinci satırdaki değerlerin kopyası olduğundan, ikinci satırın veri çerçevesinden kaldırıldığını unutmayın.
Not : dplyr Different() işlevine ilişkin tüm belgeleri burada bulabilirsiniz.
Ek kaynaklar
Aşağıdaki eğitimlerde R’de diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
R’de veriler nasıl gruplanır ve özetlenir
R’de özet tablolar nasıl oluşturulur
R’de eksik değerleri olan satırlar nasıl silinir