كيفية حساب الارتباط في 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