R'de eksik değerler nasıl atfedilir (örneklerle)
Çoğu zaman, R’deki bir veri çerçevesinin sütunlarındaki eksik değerleri, söz konusu sütunun ortalaması veya medyanı ile değiştirmek isteyebilirsiniz.
Tek bir sütundaki eksik değerleri değiştirmek için aşağıdaki sözdizimini kullanabilirsiniz:
df$col[ is.na (df$col)] <- mean(df$col, na.rm = TRUE )
Birden fazla sütundaki eksik değerleri değiştirmek için aşağıdaki sözdizimini kullanabilirsiniz:
for(i in 1: ncol (df)) { df[ , i][ is.na (df[ , i])] <- mean(df[ , i], na.rm = TRUE ) }
Bu eğitimde bu işlevlerin pratikte nasıl kullanılacağı tam olarak açıklanmaktadır.
Örnek 1: Eksik değerleri sütun ortalamalarıyla değiştirin
Aşağıdaki kod, bir veri çerçevesinin ilk sütunundaki eksik değerlerin, ilk sütunun ortalama değeriyle nasıl değiştirileceğini gösterir:
#create data frame df <- data.frame(var1=c(1, NA, NA, 4, 5), var2=c(7, 7, 8, 3, 2), var3=c(3, 3, 6, 6, 8), var4=c(1, 1, 2, 8, 9)) #replace missing values in first column with mean of first column df$var1[ is.na (df$var1)] <- mean(df$var1, na.rm = TRUE ) #view data frame with missing values replaced df var1 var2 var3 var4 1 1.000000 7 3 1 2 3.333333 7 3 1 3 3.333333 8 6 2 4 4.000000 3 6 8 5 5.000000 2 8 9
İlk sütundaki ortalama değer 3,333 olduğundan, ilk sütundaki eksik değerler 3,333 ile değiştirildi.
Aşağıdaki kod, her sütundaki eksik değerlerin kendi sütununun ortalamasıyla nasıl değiştirileceğini gösterir:
#create data frame df <- data.frame(var1=c(1, NA, NA, 4, 5), var2=c(7, 7, 8, NA, 2), var3=c(NA, 3, 6, NA, 8), var4=c(1, 1, 2, 8, 9)) #replace missing values in each column with column means for(i in 1: ncol (df)) { df[ , i][ is.na (df[ , i])] <- mean(df[ , i], na.rm = TRUE ) } #view data frame with missing values replaced df var1 var2 var3 var4 1 1.000000 7 5.666667 1 2 3.333333 7 3.000000 1 3 3.333333 8 6.000000 2 4 4.000000 6 5.666667 8 5 5.000000 2 8.000000 9
Örnek 2: Eksik değerleri sütun medyanlarıyla değiştirin
Aşağıdaki kod, bir veri çerçevesinin ilk sütunundaki eksik değerlerin ilk sütunun medyan değeriyle nasıl değiştirileceğini gösterir:
#create data frame df <- data.frame(var1=c(1, NA, NA, 4, 5), var2=c(7, 7, 8, NA, 2), var3=c(NA, 3, 6, NA, 8), var4=c(1, 1, 2, 8, 9)) #replace missing values in first column with median of first column df$var1[ is.na (df$var1)] <- median(df$var1, na.rm = TRUE ) #view data frame with missing values replaced df var1 var2 var3 var4 1 1 7 NA 1 2 4 7 3 1 3 4 8 6 2 4 4 NA NA 8 5 5 2 8 9
İlk sütundaki medyan değeri 4 olduğundan, ilk sütundaki eksik değerler 4 ile değiştirildi.
Aşağıdaki kod, her sütundaki eksik değerlerin kendi sütununun medyanı ile nasıl değiştirileceğini gösterir:
#create data frame df <- data.frame(var1=c(1, NA, NA, 4, 5), var2=c(7, 7, 8, NA, 2), var3=c(NA, 3, 6, NA, 8), var4=c(1, 1, 2, 8, 9)) #replace missing values in each column with column medians for(i in 1: ncol (df)) { df[ , i][ is.na (df[ , i])] <- median(df[ , i], na.rm = TRUE ) } #view data frame with missing values replaced df var1 var2 var3 var4 1 1 7 6 1 2 4 7 3 1 3 4 8 6 2 4 4 7 6 8 5 5 2 8 9
Ek kaynaklar
R’de sütun adları üzerinde yineleme nasıl yapılır
R’de birden fazla sütunun ortalaması nasıl hesaplanır
R’de belirli sütunlar nasıl toplanır