كيفية استخدام cor() لحساب معاملات الارتباط في r
يمكنك استخدام الدالة cor() في R لحساب معاملات الارتباط بين المتغيرات.
فيما يلي الطرق الأكثر شيوعًا لاستخدام هذه الميزة:
الطريقة الأولى: حساب معامل ارتباط بيرسون بين متغيرين
cor(df$x, df$y)
استخدم معامل ارتباط بيرسون عند حساب الارتباط بين متغيرين مستمرين. (على سبيل المثال الطول والوزن)
الطريقة الثانية: حساب معامل ارتباط بيرسون بين كافة المتغيرات الرقمية في إطار البيانات
cor(df)
ستعيد هذه الطريقة مصفوفة ارتباط تحتوي على معامل ارتباط بيرسون بين كل مجموعة زوجية من المتغيرات الرقمية في إطار البيانات.
الطريقة الثالثة: حساب معامل ارتباط سبيرمان بين متغيرين
cor(df$x, df$y, method=' spearman ')
استخدم معامل ارتباط سبيرمان عند حساب الارتباط بين متغيرين مرتبين. (على سبيل المثال، ترتيب درجة امتحان الرياضيات للطالب مقابل ترتيب درجة امتحان العلوم في الفصل الدراسي)
الطريقة الرابعة: حساب معامل ارتباط كيندال بين متغيرين
cor(df$x, df$y, method=' kendall ')
استخدم معامل ارتباط كيندال عندما تريد استخدام ارتباط سبيرمان ولكن حجم العينة صغير وهناك العديد من الروابط.
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليا مع إطار البيانات التالي في R الذي يوضح عدد الساعات التي يقضيها في الدراسة، وعدد الاختبارات التدريبية التي تم إجراؤها، ودرجة الاختبار النهائي لثمانية طلاب مختلفين:
#create data frame
df <- data. frame (hours=c(1, 1, 3, 2, 4, 3, 5, 6),
prac_exams=c(4, 3, 3, 2, 3, 2, 1, 4),
score=c(69, 74, 74, 70, 89, 85, 99, 90))
#view data frame
df
hours prac_exams score
1 1 4 69
2 1 3 74
3 3 3 74
4 2 2 70
5 4 3 89
6 3 2 85
7 5 1 99
8 6 4 90
مثال 1: حساب معامل ارتباط بيرسون بين متغيرين
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة cor() لحساب معامل ارتباط بيرسون بين متغيرات الساعات والدرجات :
#calculate Pearson correlation coefficient between hours and score
cor(df$hours, df$score)
[1] 0.8600528
وقد وجد أن معامل ارتباط بيرسون بين الساعات والنتيجة هو 0.86.
لاحظ أنه إذا كانت هناك قيم NA في إطار البيانات الخاص بك، فيمكنك استخدام الوسيطة use=’complete.obs’ لاستخدام الصفوف التي لا توجد بها قيم NA فقط:
#calculate Pearson correlation coefficient and ignore any rows with NA cor(df$hours, df$score, use=' complete.obs ')
مثال 2: حساب معامل ارتباط بيرسون بين كافة المتغيرات العددية
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة cor() لإنشاء مصفوفة ارتباط تحتوي على معامل ارتباط بيرسون بين كافة المتغيرات الرقمية في إطار البيانات:
#calculate Pearson correlation coefficient between all numeric variables
cor(df)
hours prac_exams score
hours 1.0000000 -0.1336063 0.8600528
prac_exams -0.1336063 1.0000000 -0.3951028
score 0.8600528 -0.3951028 1.0000000
وإليك كيفية تفسير النتيجة:
- معامل ارتباط بيرسون بين الساعات والاختبارات العملية هو -0.13 .
- معامل ارتباط بيرسون بين الساعات والنتيجة هو 0.86 .
- معامل ارتباط بيرسون بين الامتحانات العملية والنتيجة هو -0.39 .
ملحوظة : معامل ارتباط بيرسون بين كل متغير فردي ونفسه هو دائمًا 1، ولهذا السبب تكون كل قيمة على طول قطر مصفوفة الارتباط هي 1.
مثال 3: احسب معامل ارتباط سبيرمان بين متغيرين
يوضح الكود التالي كيفية استخدام الدالة cor() لحساب معامل ارتباط Spearman بين متغيرات الساعات ومتغيرات prac_exams :
#calculate Spearman correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' spearman ') [1] -0.1250391
وتبين أن معامل ارتباط سبيرمان بين الساعات والاختبارات العملية هو -0.125.
مثال 4: احسب معامل ارتباط كيندال بين متغيرين
يوضح الكود التالي كيفية استخدام الدالة cor() لحساب معامل ارتباط كيندال بين متغيرات الساعات ومتغيرات prac_exams :
#calculate Kendall's correlation coefficient between hours and prac_exams cor(df$hours, df$prac_exams, method=' kendall ') [1] -0.1226791
وتبين أن معامل ارتباط كيندال بين الساعات والامتحانات العملية هو -0.123.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية حساب الارتباط المنزلق في R
كيفية حساب الارتباط الذاتي في R
كيفية حساب الارتباط الجزئي في R