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