كيفية حساب الارتباط في r مع القيم المفقودة


يمكنك استخدام الطرق التالية لحساب معاملات الارتباط في R عندما يكون لمتغير واحد أو أكثر قيم مفقودة:

الطريقة الأولى: حساب معامل الارتباط مع وجود القيم المفقودة

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

الطريقة الثانية: حساب مصفوفة الارتباط مع وجود القيم المفقودة

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

توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا.

مثال 1: حساب معامل الارتباط مع وجود القيم المفقودة

لنفترض أننا نحاول استخدام الدالة cor() لحساب معامل ارتباط بيرسون بين متغيرين عند وجود قيم مفقودة:

 #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

تقوم الدالة cor() بإرجاع NA لأننا لم نحدد كيفية التعامل مع القيم المفقودة.

لتجنب هذه المشكلة، يمكننا استخدام الوسيطة use=’Complete.obs’ حتى يعرف R أنه يستخدم فقط الملاحظات الزوجية التي توجد فيها القيمتان:

 #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

وتبين أن معامل الارتباط بين المتغيرين هو -0.488749 .

لاحظ أن الدالة cor() تستخدم فقط كلا المجموعتين الزوجيتين حيث كانت القيم موجودة عند حساب معامل الارتباط.

مثال 2: حساب مصفوفة الارتباط مع وجود القيم المفقودة

لنفترض أننا نحاول استخدام الدالة cor() لإنشاء مصفوفة ارتباط لإطار بيانات يحتوي على ثلاثة متغيرات عند وجود قيم مفقودة:

 #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

تقوم الدالة cor() بإرجاع NA في أماكن متعددة لأننا لم نحدد كيفية التعامل مع القيم المفقودة.

لتجنب هذه المشكلة، يمكننا استخدام الوسيطة use=’pairwise.complete.obs’ حتى يعرف R أنه يستخدم فقط الملاحظات الزوجية التي توجد فيها القيمتان:

 #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

يتم الآن عرض معاملات الارتباط لكل مجموعة زوجية من المتغيرات في قاعدة البيانات.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:

كيفية العثور على قيمة P لمعامل الارتباط في R
كيفية حساب ارتباط سبيرمان في R
كيفية حساب الارتباط المنزلق في R

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *