R'de eksik değerlerle korelasyon nasıl hesaplanır


Bir veya daha fazla değişkenin eksik değerleri olduğunda R’deki korelasyon katsayılarını hesaplamak için aşağıdaki yöntemleri kullanabilirsiniz:

Yöntem 1: Mevcut eksik değerlerle korelasyon katsayısını hesaplayın

 cor(x, y, use=' complete.obs ')

Yöntem 2: Eksik değerlerin mevcut olduğu korelasyon matrisini hesaplayın

 cor(df, use=' pairwise.complete.obs ')

Aşağıdaki örnekler her yöntemin pratikte nasıl kullanılacağını göstermektedir.

Örnek 1: Mevcut eksik değerlerle korelasyon katsayısını hesaplayın

Eksik değerler mevcut olduğunda iki değişken arasındaki Pearson korelasyon katsayısını hesaplamak için cor() işlevini kullanmaya çalıştığımızı varsayalım:

 #create two variables
x <- c(70, 78, 90, 87, 84, NA, 91, 74, 83, 85)
y <- c(90, NA, 79, 86, 84, 83, 88, 92, 76, 75)

#attempt to calculate correlation coefficient between x and y
cor(x, y)

[1] NA

Eksik değerlerin nasıl ele alınacağını belirtmediğimiz için cor() işlevi NA değerini döndürür.

Bu sorunu önlemek için use=’complete.obs’ argümanını kullanabiliriz, böylece R yalnızca her iki değerin de mevcut olduğu ikili gözlemleri kullanacağını bilir:

 #create two variables
x <- c(70, 78, 90, 87, 84, NA, 91, 74, 83, 85)
y <- c(90, NA, 79, 86, 84, 83, 88, 92, 76, 75)

#calculate correlation coefficient between x and y
cor(x, y, use=' complete.obs ')

[1] -0.4888749

İki değişken arasındaki korelasyon katsayısı -0,488749 olarak ortaya çıkıyor.

Cor() fonksiyonunun, korelasyon katsayısı hesaplanırken değerlerin mevcut olduğu durumlarda yalnızca her iki ikili kombinasyonu kullandığını unutmayın.

Örnek 2: Eksik değerlerin mevcut olduğu korelasyon matrisini hesaplayın

Eksik değerler mevcut olduğunda üç değişkenli bir veri çerçevesi için birkorelasyon matrisi oluşturmak amacıyla cor() işlevini kullanmaya çalıştığımızı varsayalım:

 #create data frame with some missing values
df <- data. frame (x=c(70, 78, 90, 87, 84, NA, 91, 74, 83, 85),
                 y=c(90, NA, 79, 86, 84, 83, 88, 92, 76, 75),
                 z=c(57, 57, 58, 59, 60, 78, 81, 83, NA, 90))

#attempt to create correlation matrix for variables in data frame
cor(df)

   X Y Z
x 1 NA NA
y NA 1 NA
z NA NA 1

Eksik değerlerin nasıl ele alınacağını belirtmediğimiz için cor() işlevi birden çok yerde NA değerini döndürür.

Bu sorunu önlemek için use=’pairwise.complete.obs’ argümanını kullanabiliriz, böylece R yalnızca her iki değerin de mevcut olduğu ikili gözlemleri kullanacağını bilir:

 #create data frame with some missing values
df <- data. frame (x=c(70, 78, 90, 87, 84, NA, 91, 74, 83, 85),
                 y=c(90, NA, 79, 86, 84, 83, 88, 92, 76, 75),
                 z=c(57, 57, 58, 59, 60, 78, 81, 83, NA, 90))

#create correlation matrix for variables using only pairwise complete observations
cor(df, use=' pairwise.complete.obs ')

           X Y Z
x 1.0000000 -0.4888749 0.1311651
y -0.4888749 1.0000000 -0.1562371
z 0.1311651 -0.1562371 1.0000000

Veritabanındaki değişkenlerin her bir ikili kombinasyonu için korelasyon katsayıları artık görüntülenmektedir.

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 korelasyon katsayısının P değeri nasıl bulunur?
R’de Spearman korelasyonu nasıl hesaplanır
R’de kayan korelasyon nasıl hesaplanır

Yorum ekle

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