كيفية إجراء اختبار فريدمان في r
اختبار فريدمان هو بديل غير معلمي للقياسات المتكررة ANOVA. يتم استخدامه لتحديد ما إذا كان هناك فرق ذو دلالة إحصائية بين متوسطات ثلاث مجموعات أو أكثر تظهر فيها نفس المواضيع في كل مجموعة أم لا.
يشرح هذا البرنامج التعليمي كيفية إجراء اختبار فريدمان في R.
مثال: اختبار فريدمان في R
لإجراء اختبار فريدمان في لغة R، يمكننا استخدام الدالة Friedman.test() ، والتي تستخدم الصيغة التالية:
Friedman.test (ص، المجموعات، الكتل)
ذهب:
- y: متجه لقيم الاستجابة.
- المجموعات: ناقل القيم الذي يشير إلى “المجموعة” التي تنتمي إليها الملاحظة.
- الكتل: متجه القيم الذي يشير إلى متغير “الحظر”.
تنتج هذه الوظيفة إحصائية اختبار مربع كاي وقيمة p المقابلة. إذا كانت القيمة p أقل من مستوى معين من الأهمية (الاختيارات الشائعة هي 0.10، 0.05، و0.01)، فهناك أدلة كافية على أن المتوسطات بين كل مجموعة ليست متساوية.
لتوضيح كيفية استخدام هذه الميزة، سنقوم بإنشاء مجموعة بيانات توضح وقت رد الفعل لخمسة مرضى على أربعة أدوية مختلفة. وبما أن كل مريض يتم قياسه على كل من الأدوية الأربعة، فسوف نستخدم اختبار فريدمان لتحديد ما إذا كان متوسط وقت التفاعل يختلف بين الأدوية.
أولاً سنقوم بإنشاء مجموعة البيانات:
#create data data <- data.frame(person = rep(1:5, each=4), drug = rep(c(1, 2, 3, 4), times=5), score = c(30, 28, 16, 34, 14, 18, 10, 22, 24, 20, 18, 30, 38, 34, 20, 44, 26, 28, 14, 30)) #view data data person drug score 1 1 1 30 2 1 2 28 3 1 3 16 4 1 4 34 5 2 1 14 6 2 2 18 7 2 3 10 8 2 4 22 9 3 1 24 10 3 2 20 11 3 3 18 12 3 4 30 13 4 1 38 14 4 2 34 15 4 3 20 16 4 4 44 17 5 1 26 18 5 2 28 19 5 3 14 20 5 4 30
بعد ذلك، سنقوم بإجراء اختبار فريدمان باستخدام النتيجة كمتغير الاستجابة، والدواء كمتغير التجميع، والشخص كمتغير الحظر:
#perform Friedman Test
friedman.test(y=data$score, groups=data$drug, blocks=data$person)
Friedman rank sum test
data: data$score, data$drug and data$person
Friedman chi-squared = 13.56, df = 3, p-value = 0.00357
إحصائيات اختبار Chi-square هي 13.56 والقيمة p المقابلة هي 0.00357 . وبما أن هذه القيمة p أقل من 0.05، يمكننا رفض الفرضية الصفرية القائلة بأن متوسط وقت الاستجابة هو نفسه لجميع الأدوية الأربعة. لدينا ما يكفي من الأدلة لنستنتج أن نوع الدواء المستخدم يؤدي إلى اختلافات ذات دلالة إحصائية في وقت الاستجابة.
على الرغم من أن اختبار فريدمان يخبرنا ما إذا كانت هناك اختلافات في متوسط أوقات الاستجابة بين الأدوية، إلا أنه لا يخبرنا على وجه التحديد ما هي الأدوية التي لها متوسط أوقات استجابة مختلفة. لفهم هذا، نحن بحاجة إلى إجراء اختبار ما بعد مخصص.
بالنسبة لاختبار فريدمان، فإن الاختبار اللاحق المناسب هو اختبار مجموع رتب ويلكوكسون الزوجي مع تصحيح بونفيروني، والذي يمكن تنفيذه باستخدام الصيغة التالية:
Pairwise.wilcox.test(data$score, data$drug, p.adj = “bonf”)
ذهب:
- س: ناقل الاستجابة
- ز: ناقلات التجميع
- p.adj: طريقة تعديل القيمة p؛ تشمل الخيارات holm وhochberg وhommel وbonferroni وBH وBY وfdr ولا شيء
هنا هو بناء الجملة الذي سنستخدمه لمثالنا:
#perform post-hoc tests
pairwise.wilcox.test(data$score, data$drug, p.adj = "bonf")
Pairwise comparisons using Wilcoxon rank sum test
data: data$score and data$drug
1 2 3
2 1,000 - -
3 0.449 0.210 -
4 1,000 1,000 0.072
P value adjustment method: bonferroni
ينتج عن ذلك مصفوفة توضح القيمة p لكل اختبار مجموع رتب ويلكوكسون الزوجي. يمكننا أن نرى أن مجموعات الأدوية الوحيدة التي لديها فرق ذو دلالة إحصائية عند 0.10 هي المجموعتان 3 و4 ( ع = 0.072 ).