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

Yorum ekle

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