Na, r'deki medyan ile nasıl değiştirilir?
R’deki dplyr ve Tidyr paketlerindeki işlevleri kullanarak NA değerlerini medyanla değiştirmek için aşağıdaki yöntemleri kullanabilirsiniz:
Yöntem 1: NA değerlerini bir sütundaki medyanla değiştirin
df %>% mutate(across(col1, ~replace_na(., median(., na. rm = TRUE ))))
Yöntem 2: Birden çok sütunda NA değerlerini medyanla değiştirin
df %>% mutate(across(c(col1, col2), ~replace_na(., median(., na. rm = TRUE ))))
Yöntem 3: Tüm sayısal sütunlarda NA değerlerini medyanla değiştirin
df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE ))))
Aşağıdaki örnekler, her yöntemin pratikte aşağıdaki veri çerçevesiyle nasıl kullanılacağını gösterir:
#create data frame df <- data. frame (player=c('A', 'B', 'C', 'D', 'E'), points=c(17, 13, NA, 9, 25), rebounds=c(3, 4, NA, NA, 8), blocks=c(1, 1, 2, 4, NA)) #view data frame df player points rebounds blocks 1 to 17 3 1 2 B 13 4 1 3 C NA NA 2 4 D 9 NA 4 5 E 25 8 NA
Örnek 1: NA değerlerini bir sütundaki medyanla değiştirin
Aşağıdaki kod, nokta sütunundaki NA değerlerinin, nokta sütununun medyan değeriyle nasıl değiştirileceğini gösterir:
library (dplyr) library (tidyr) #replace NA values in points column with median of points column df <- df %>% mutate(across(points, ~replace_na(., median(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1 2 B 13 4 1 3 C 15 NA 2 4 D 9 NA 4 5 E 25 8 NA
Puan sütunundaki medyan değeri 15 olduğundan puan sütunundaki NA değeri 15 ile değiştirildi.
Diğer tüm sütunlar değişmeden kaldı.
Örnek 2: Birden fazla sütunda NA değerlerini medyanla değiştirin
Aşağıdaki kod, nokta ve blok sütunlarındaki NA değerlerinin ilgili sütun medyanlarıyla nasıl değiştirileceğini gösterir:
library (dplyr) library (tidyr) #replace NA values in points and blocks columns with their respective medians df <- df %>% mutate(across(c(points, blocks), ~replace_na(., median(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1.0 2 B 13 4 1.0 3 C 15 NA 2.0 4 D 9 NA 4.0 5 E 25 8 1.5
Nokta ve blok sütunlarındaki NA değerlerinin her ikisinin de ilgili sütun medyanlarıyla değiştirildiğini unutmayın.
Örnek 3: Tüm sayısal sütunlarda NA değerlerini medyanla değiştirin
Aşağıdaki kod, her sayısal sütundaki NA değerlerinin ilgili medyan değerleriyle nasıl değiştirileceğini gösterir:
library (dplyr) library (tidyr) #replace NA values in all numeric columns with their respective medians df <- df %>% mutate(across(where(is. numeric ), ~replace_na(., median(., na. rm = TRUE )))) #view updated data frame df player points rebounds blocks 1 to 17 3 1.0 2 B 13 4 1.0 3 C 15 4 2.0 4 D 9 4 4.0 5 E 25 8 1.5
Tüm sayısal sütunlardaki NA değerlerinin, ilgili sütun medyanlarıyla değiştirildiğini unutmayın.
Sayısal olmayan tek sütun (oyuncu) değişmeden kaldı.
Ek kaynaklar
Aşağıdaki eğitimlerde dplyr’de diğer genel görevlerin nasıl gerçekleştirileceği açıklanmaktadır:
Belirli bir dizeyi içeren satırları dplyr kullanarak nasıl filtreleyebilirim?
Dplyr kullanarak satırlar nasıl silinir
Dplyr’de cross () işlevi nasıl kullanılır?