تُعد النمذجة الإحصائية اللامعلمية أحد الأعمدة المنهجية الجوهرية في أبحاث العلوم النفسية والسلوكية الحديثة، لاسيما عند التعامل مع الظواهر النفسية المعقدة التي يصعب قياسها على متصلات كمية متصلة أو تلك التي تنتهك بحدة افتراضات التوزيع الطبيعي والتجانس التبايني. ففي كثير من التجارب المعملية والإكلينيكية، يخضع المفحوصون أنفسهم لظروف تجريبية متعددة أو يُقاس أداؤهم وسلوكهم عبر محطات زمنية متتابعة لرصد ديناميكيات التغير والاستجابة. وفي ظل هذه التصاميم ذات القياسات المتكررة (Repeated Measures Designs)، تبرز تحديات منهجية جسيمة تحول دون التطبيق الآمن للنماذج المعلمية الكلاسيكية، مما يجعل اللجوء إلى البدائل اللامعلمية المبنية على الرتب خياراً حتمياً لضمان مصداقية الاستدلال الإحصائي ودقة القرارات البحثية.
يمثل اختبار فريدمان (Friedman Test) الأداة اللامعلمية الرائدة والمقابلة لتحليل التباين أحادي الاتجاه للقياسات المتكررة (One-Way Repeated Measures ANOVA)؛ حيث يوفر إطاراً تحليلياً متيناً لاختبار الفروق بين ثلاثة شروط تجريبية مرتبطة أو أكثر دون اشتراط اعتدالية التوزيع أو افتراض التماثل الكروي للمصفوفة التباينية المشتركة. ومع التطور المتسارع للبرمجيات الإحصائية مفتوحة المصدر، أصبحت بيئة لغة R الإحصائية المنصة الأكثر مرونة ورصانة لتنفيذ هذا الاختبار، وإجراء المقارنات البعدية المتقدمة، وتقدير أحجام الأثر المعيارية، وتوليد التصورات البيانية عالية الدقة للنشر الأكاديمي الرصين.
يهدف هذا الدليل المنهجي والتطبيقي الشامل إلى تقديم تفكيك إبستيمولوجي وعملي دقيق لاختبار فريدمان في لغة R، بدءاً من أصوله الرياضية وبنيته الخوارزمية، مروراً بشروط تطبيقه الصارمة، وكيفية هيكلة البيانات واستدعاء الدوال المخصصة، ووصولاً إلى إجراء الاختبارات التتبعية، وحساب معامل توافق كيندال كحجم للأثر، وصياغة التقارير الإحصائية وفق دليل النشر الأكاديمي لجمعية علم النفس الأمريكية (APA Style). كما يستعرض الدليل السيناريوهات المتقدمة للتعامل مع البيانات المفقودة، واختبارات التباديل، وأفضل الممارسات لتجنب الوقوع في المزالق التحليلية الشائعة.
- 1. مقدمة إلى اختبار فريدمان وأهميته في الأبحاث النفسية
- 2. الافتراضات الإحصائية وشروط تطبيق اختبار فريدمان
- 3. البنية الرياضية وحساب إحصائية اختبار فريدمان
- 4. إعداد بيئة العمل واستيراد البيانات في لغة R
- 5. الصياغة النحوية لدالة friedman.test() في لغة R
- 6. تطبيق عملي: قياس زمن الاستجابة النفسية تحت تأثير عقاقير مختلفة
- 7. قراءة وتفسير المخرجات الإحصائية وصياغة التقارير الأكاديمية
- 8. المقارنات البعدية والاختبارات التتبعية (Post-Hoc Tests) في R
- 9. حساب حجم الأثر (Effect Size) لاختبار فريدمان في R
- 10. التصور البصري لنتائج اختبار فريدمان باستخدام حزمة ggplot2
- 11. التعامل مع الحالات الخاصة والتصاميم المتقدمة
- 12. الأخطاء الشائعة وأفضل الممارسات المنهجية
- خاتمة
- المراجع (References)
1. مقدمة إلى اختبار فريدمان وأهميته في الأبحاث النفسية
1.1 تعريف اختبار فريدمان وسياقه التاريخي والإحصائي
ابتكر الاقتصادي والإحصائي الأمريكي الحائز على جائزة نوبل ميلتون فريدمان (Milton Friedman) هذا الاختبار في عام 1937 كأداة لا معلمية تُستخدم لتحليل التباين ثنائي الاتجاه بالرتب (Two-way Analysis of Variance by Ranks). جاء تطوير هذا الاختبار استجابة للحاجة المتزايدة إلى وجود أسلوب إحصائي يتجاوز القيود الصارمة التي تفرضها الاختبارات المعلمية التقليدية التي صاغها رونالد فيشر، ولا سيما افتراض التوزيع الطبيعي المشترك للأخطاء العشوائية واشتراط القياس على مقاييس فئوية أو نسبية منتظمة.
يعتمد الاختبار في جوهره على تحويل الدرجات الخام المستمرة أو الرتبية إلى رتب نسبية تُحسب داخل كل مفحوص (أو كتلة تجريبية) بشكل منفصل ومستقل عن باقي المفحوصين. هذا التحويل الرتبي يُلغي الاعتماد على القيم المطلقة للأرقام ويجعل الاختبار محصناً ضد التواء التوزيعات وتذبذبات القياس. ومن ثم، فإن اختبار فريدمان يختبر الفرضية الصفرية القائلة بأن التوزيعات الاحتمالية الكامنة وراء الاستجابات عبر المعالجات المختلفة متطابقة في الموقع (Medians/Rank Distributions)، مما يجعله معياراً ذهبياً في الاستدلال اللامعلمي للبيانات التابعة.
تكمن الأهمية الإبستيمولوجية للاختبار في كونه يُمكّن الباحث من اختبار الفروق الجوهرية بين الظروف التجريبية المتعددة دون الوقوع في خطأ التقدير الناجم عن انتهاك التوزيع الطبيعي، مما يوفر حماية فائقة ضد أخطاء النوع الأول (Type I Error) ويحافظ على القوة الإحصائية المناسبة في الأطر الاستكشافية والتأكيدية على حد سواء.
1.2 مكانة الاختبار كبديل لامعلمي لتحليل التباين للقياسات المتكررة (Repeated Measures ANOVA)
يُعد تحليل التباين للقياسات المتكررة (RM-ANOVA) الأداة المعلمية القياسية لمقارنة متوسطات ثلاث مجموعات مرتبطة أو أكثر. ومع ذلك، يتطلب هذا النموذج شروطاً بنيوية صارمة، في مقدمتها التوزيع الطبيعي المتعدد للمتغيرات التابعة، وتجانس التباينات، وافتراض التماثل الكروي (Sphericity)، والذي ينص على أن تباين الفروق بين جميع الأزواج الممكنة من الظروف التجريبية يجب أن يكون متساوياً. وعندما ينتهك تصميم التجربة هذه الافتراضات، تصبح نتائج اختبار F مضللة ومبالغة في إظهار الدلالة الإحصائية الزائفة.
هنا تبرز المكانة التحليلية لاختبار فريدمان كبديل مباشر ومثالي لنموذج القياسات المتكررة؛ إذ إنه لا يفترض كروية المصفوفة إطلاقاً ولا يتأثر باختلاف التباينات بين المعالجات. ونظراً لاعتماده الحصري على رتب المشاهدات، يتمتع الاختبار بمناعة ذاتية ضد القيم المتطرفة (Outliers) التي قد تشوه المتوسطات الحسابية وتضخم التباين الإجمالي داخل النموذج المعلمي، مما يحفظ سلامة القرارات المستخلصة من البيانات العيادية السريرية والملاحظات السلوكية ذات التشتت المرتفع.
علاوة على ذلك، في حين يتطلب تحليل التباين المعلمي بيانات متصلة مقاسة بمستوى فتروي (Interval) أو نسبي (Ratio)، يمتلك اختبار فريدمان مرونة فائقة تسمح بتطبيقه على البيانات الترتيبية (Ordinal Data) الناتجة عن مقاييس التقدير المتدرجة، مما يجعله أداة استراتيجية تتفوق في سيناريوهات الممارسة السيكومترية الواقعية.
1.3 تطبيقات اختبار فريدمان في الدراسات النفسية والسلوكية
تتعدد تطبيقات اختبار فريدمان في الأبحاث النفسية المعاصرة وتتنوع بتنوع التصاميم شبه التجريبية والتجريبية المختبرية. أحد أبرز هذه التطبيقات يتمثل في تجارب علم النفس العصبي والفسيولوجي المعرفي؛ حيث يُقاس زمن رد الفعل الحركي أو النشاط الكهربائي للدماغ (EEG) للمفحوصين أنفسهم تحت تأثير مستويات مختلفة من الإثارة الذهنية، أو درجات متفاوتة من الحرمان من النوم، أو أشكال متباينة من المنبهات البصرية السمعية.
كما يُستخدم الاختبار بكثافة في الدراسات الإكلينيكية ودراسات علم النفس المرضي لمتابعة مسارات تطور الأعراض النفسية عبر الزمن (Longitudinal Tracking). فعلى سبيل المثال، عند تقييم شدة أعراض اضطراب الاكتئاب الجسيم أو القلق العام لدى مجموعة من المرضى في أربع نقاط زمنية محددة: (قبل بدء العلاج، بعد 4 أسابيع، بعد 8 أسابيع، وعند المتابعة بعد 6 أشهر)، يوفر اختبار فريدمان الوسيلة المثلى للتحقق مما إذا كان الانخفاض في حدة الأعراض دالاً إحصائياً عبر مراحل التدخل العلاجي دون التأثر بالقيم الشاذة لبعض المرضى.
تطبيق محوري آخر يتمثل في دراسات علم النفس الاجتماعي وعلم النفس المهني لتقييم فعالية البرامج التدريبية المتعددة أو استراتيجيات التدخل السلوكي، مثل مقارنة استجابات الموظفين لثلاثة أنماط مختلفة من التغذية الراجعة السلوكية، أو تقييم تفضيلات الأفراد وسلوكيات اتخاذ القرار تحت ظروف ضغط نفسي متعددة ومضبوطة تجريبياً.
2. الافتراضات الإحصائية وشروط تطبيق اختبار فريدمان
2.1 طبيعة المتغيرات التجريبية ومستوى القياس
يتطلب التطبيق السليم لاختبار فريدمان استيفاء بنية محددة من المتغيرات تتسق مع المنطق الرياضي للاختبار. ينبغي أن يكون المتغير التابع مقاساً، كحد أدنى، على مقياس رتبي (Ordinal Scale)، بحيث يمكن ترتيب القيم تصاعدياً أو تنازلياً داخل كل كتلة. وبطبيعة الحال، يمكن تطبيق الاختبار بكفاءة عالية على المتغيرات المقاسة بمستويات فئوية (Interval) أو نسبية (Ratio)، حيث يتم اختزال هذه القياسات الكمية تلقائياً إلى رتب نسبية أثناء الحساب.
أما المتغير المستقل، فيجب أن يكون متغيراً نوعياً تصنيفياً (Categorical/Factor) يتألف من ثلاثة مستويات أو شروط تجريبية مرتبطة على الأقل ($k ge 3$). وفي حال كان المتغير المستقل يحتوي على مستويين مرتبطين فقط ($k = 2$)، فإن اختبار فريدمان يؤول رياضياً إلى مكافئ لاختبار ويلكوكسون للرتب الموقعة (Wilcoxon Signed-Rank Test)، ومن ثم لا يُشترط استخدام فريدمان في حالة القياسين الثنائيين.
علاوة على ذلك، يشترط الاختبار وجود بنية قياسات متكررة أو كتل أزواج متطابقة (Matched Blocks)؛ بمعنى أن المشاهدات عبر المعالجات المختلفة تعود إلى نفس العينة من المفحوصين، أو إلى مجموعات من الأفراد تم التوفيق بينهم بدقة متناهية بناءً على متغيرات ضابطة حرجة (مثل العمر، ومستوى الذكاء، وشدة الأعراض القاعدية).
2.2 استقلالية الكتل وتصميم التجارب المجمعة
تُعد استقلالية الكتل (Independence of Blocks) شرطاً غير قابل للتفاوض في اختبار فريدمان؛ إذ يجب أن تكون الاستجابات الصادرة عن مفحوص معين (كتلة) مستقلة تماماً من الناحية الإحصائية والفيزيائية عن استجابات المفحوصين الآخرين داخل العينة. إن أي شكل من أشكال التفاعل أو التأثير المتبادل بين المفحوصين داخل المختبر أو أثناء ملء الاستبيانات يؤدي إلى انتهاك هذا الافتراض ويفسد حساب درجات الحرية وتوزيع إحصائية كاي-تربيع التقاربي.
يتطلب التصميم التجريبي الرصين أيضاً معالجة منهجية لمشكلة “تأثير الترتيب” (Order Effects) وتأثيرات الإجهاد أو التعلم التي تنشأ بطبيعتها عن خضوع المفحوص لنفس المهمة لمرات متعددة. ولتفادي هذه التحيزات، يجب على الباحث تطبيق أسلوب الموازنة العشوائية (Counterbalancing) أو تصميم المربع اللاتيني (Latin Square Design) لتوزيع ترتيب تلقي المعالجات أو المنبهات التجريبية بين المشاركين بصورة عشوائية منتظمة.
فيما يتعلق بحجم العينة ($n$)، تتأثر القوة الإحصائية للاختبار بعدد الكتل وعدد المعالجات ($k$). على الرغم من أن الاختبار يمكن إجراؤه نظرياً على عينات صغيرة ($n ge 5$)، إلا أن دقة التقريب إلى توزيع كاي-تربيع تعتمد على كفاية حجم العينة، حيث تزداد موثوقية النتائج كلما زاد عدد الكتل، خاصة عند الرغبة في إجراء مقارنات بعدية دقيقة لاحقاً.
2.3 متى يجب تفضيل اختبار فريدمان على البدائل المعلمية
يواجه الباحث السلوكي في ممارسته اليومية قرارات منهجية مفصلية حول اختيار الاختبار الأمثل. يتفوق اختبار فريدمان ويصبح الخيار الإلزامي في ثلاث حالات رئيسية:
- انتهاك اعتدالية التوزيع وصغر العينة: عندما تشير اختبارات الاستكشاف الصوري والعددي (مثل اختبار شابيرو-ويلك Shapiro-Wilk) إلى التواء شديد في توزيع الفروق عبر الشروط التجريبية، ويكون حجم العينة صغيراً بحيث لا تتحقق مبرهنة النهاية المركزية (Central Limit Theorem).
- طبيعة البيانات الترتيبية: عند استخدام مقاييس الاستجابة النفسية المصممة على سلم ليكرت (Likert Scales)، أو استمارات التقييم الإكلينيكي الرتبية التي لا تضمن تساوي المسافات بين النقاط المجاورة، مما يجعل حساب المتوسطات والانحرافات المعيارية ممارسة مضللة رياضياً.
- وجود قيم شاذة غير قابلة للاستبعاد: عند احتواء مجموعة البيانات على مشاهدات متطرفة حقيقية ونابعة من استجابات سيكولوجية فعلية لا ترجع إلى أخطاء في الإدخال، حيث يؤدي الاحتفاظ بها في النماذج المعلمية إلى تضخيم الخطأ المعياري، بينما يقوم اختبار فريدمان بتحجيم أثرها عبر تحويلها إلى رتب مقيدة النطاق.
3. البنية الرياضية وحساب إحصائية اختبار فريدمان
3.1 آلية ترتيب المشاهدات داخل الكتل (Ranking within Blocks)
تنطلق الخوارزمية الحسابية لاختبار فريدمان من تنظيم البيانات في جدول مصفوفي يحتوي على $n$ من الصفوف (تمثل المفحوصين أو الكتل) و $k$ من الأعمدة (تمثل المعالجات أو الشروط التجريبية). تتمثل الخطوة الأولى في ترتيب المشاهدات بصورة تصاعدية عبر الأعمدة، ولكن داخل كل صف بشكل منفصل تماماً؛ بحيث تأخذ المشاهدة الصغرى داخل الصف الرتبة 1، وتأخذ المشاهدة الأكبر التالية الرتبة 2، وصولاً إلى المشاهدة العظمى التي تأخذ الرتبة $k$.
في حالة وجود قيم متطابقة أو متساوية (Ties) داخل صف المفحوص، يتم تطبيق أسلوب “متوسط الرتب” (Mid-ranks). على سبيل المثال، إذا تساوت قيمتان كانتا تستحقان الرتبتين 2 و 3، فإن كلاً منهما تُمنح الرتبة المعيارية 2.5 ($ (2 + 3) / 2 $). هذا الإجراء يضمن ثبات المجموع الكلي للرتب داخل كل كتلة تجريبية ليكون مساوياً دائماً للثابت الرياضي:
$$\sum_{j=1}^{k} r_{ij} = \frac{k(k + 1)}{2}$$
عقب إتمام عملية الترتيب لجميع الكتل من 1 إلى $n$، يتم جمع الرتب المخصصة لكل معالجة تجريبية عبر جميع الصفوف للحصول على مجموع الرتب ($R_j$) ومتوسط الرتب ($bar{R}_j$) لكل مستوى من مستويات المعالجة التجريبية.
3.2 معادلة إحصائية فريدمان (Friedman Chi-Square Statistic)
تقوم إحصائية اختبار فريدمان، والتي يُرمز لها عادة بالرمز $Q$ أو $\chi^2_F$، بقياس مدى تباعد مجموع الرتب الفعلي لكل معالجة ($R_j$) عن مجموع الرتب المتوقع تحت الفرضية الصفرية القائلة بعدم وجود فروق بين المعالجات، والذي يساوي $n(k + 1) / 2$. تُصاغ المعادلة الرياضية الكلاسيكية للاختبار في غياب الرتب المتطابقة على النحو التالي:
$$Q = \frac{12}{n k (k + 1)} \sum_{j=1}^{k} R_j^2 – 3 n (k + 1)$$
حيث يمثل $n$ إجمالي عدد الكتل (المفحوصين)، و $k$ عدد الشروط أو المعالجات التجريبية، و $R_j$ المجموع الكلي للرتب المتحصل عليها في المعالجة رقم $j$. وفي حال وجود قيم متطابقة (Ties) بكثافة في البيانات، يتم تطبيق معامل تصحيح رياضي على المقام لضبط التباين الناقص، وتصبح المعادلة المصححة كالآتي:
$$Q_{\text{adjusted}} = \frac{Q}{1 – \frac{\sum (t_i^3 – t_i)}{n k (k^2 – 1)}}$$
حيث يمثل $t_i$ عدد المشاهدات المتطابقة في المجموعة المترابطة رقم $i$ داخل كتلة معينة. تقوم بيئة R تلقائياً بتطبيق هذا التصحيح لضمان دقة القيمة الاحتمالية الناتجة.
3.3 درجات الحرية وتحديد القيمة الاحتمالية (p-value)
تتبع إحصائية فريدمان المحسوبة $Q$ توزيعاً تقاربياً يماثل توزيع كاي-تربيع ($\chi^2$) بدرجات حرية مساوية لعدد المعالجات مطروحاً منها واحد:
$$df = k – 1$$
يكون هذا التقريب المقارب إلى توزيع كاي-تربيع عالي الدقة عندما يكون عدد الكتل $n$ كافياً (عادة $n > 10$ إذا كان $k = 3$ أو $4$، أو$n > 5$ إذا كان $k ge 5$). أما في العينات متناهية الصغر، فإن الاعتماد على التوزيع الدقيق (Exact Distribution) عبر خوارزميات التباديل يكون أكثر تحفظاً ورصانة.
يتم اتخاذ القرار الإحصائي عبر مقارنة القيمة الاحتمالية الناتجة ($p\text{-value}$) بمستوى الدلالة المحدد مسبقاً (عادة $\alpha = 0.05$). فإذا كانت القيمة الاحتمالية أقل من أو تساوي $0.05$، فإننا نرفض الفرضية الصفرية ($H_0$) ونستنتج وجود فروق دالة إحصائياً في متوسطات الرتب بين شرطين تجريبيين على الأقل من الشروط قيد الدراسة، مما يستدعي الانتقال المنهجي إلى مرحلة الاختبارات البعدية لتحديد مكمن هذه الفروق بدقة.
4. إعداد بيئة العمل واستيراد البيانات في لغة R
4.1 تثبيت واستدعاء الحزم الإحصائية المتخصصة
تتضمن بيئة R الأساسية (Base R) دالة مدمجة وممتازة لتنفيذ اختبار فريدمان دون الحاجة إلى تثبيت أي مكتبات خارجية. ومع ذلك، فإن التحليل الحديث، وإعداد التقارير السيكومترية المتقدمة، وحساب أحجام الأثر، ورسم المخططات البيانية الجذابة يتطلب الاعتماد على منظومة متكاملة من الحزم التخصصية المتاحة عبر مستودع CRAN.
تشمل الحزم الأساسية الموصى بها في هذا السياق: حزمة tidyverse لإدارة البيانات وهندستها، وحزمة rstatix التي توفر مخرجات أنيقة متوافقة مع أنابيب التحليل الحديثة، وحزمة PMCMRplus المخصصة للمقارنات المتعددة اللامعلمية غير المعلمية، وحزمة coin لحساب الاختبارات الدقيقة المبنية على إعادة العينات والتباديل، بالإضافة إلى حزمة ggpubr المتخصصة في إعداد الرسوم البيانية للنشر العلمي. يمكن تثبيت هذه الحزم واستدعاؤها باستخدام الأوامر البرمجية القياسية التالية في منصة RStudio:
install.packages(c("tidyverse", "rstatix", "PMCMRplus", "coin", "ggpubr"))
library(tidyverse)
library(rstatix)
library(PMCMRplus)
library(coin)
library(ggpubr)
4.2 هيكلة البيانات وتحويلها إلى التنسيق الطويل (Long Format)
يُمثل فهم بنية البيانات وتنسيقها شرطاً أساسياً لنجاح التحليل في R. غالباً ما تُسجل بيانات القياسات المتكررة في الأبحاث النفسية بالتنسيق العريض (Wide Format)، حيث يمثل كل صف مفحوصاً واحداً، بينما تمثل الأعمدة المستقلة القياسات المتكررة تحت الظروف التجريبية المختلفة. وعلى الرغم من أن بعض صيغ دالة فريدمان تقبل المصفوفات العريضة، إلا أن منظومة العمل الحديثة (Tidyverse workflow) ومعظم دوال المقارنات البعدية وحساب حجم الأثر تتطلب تحويل البيانات إلى التنسيق الطويل (Long/Tidy Format).
في التنسيق الطويل، يتكون إطار البيانات من ثلاثة أعمدة رئيسية: عمود يمثل معرف المفحوص (Subject ID / Block)، وعمود يمثل العامل التجريبي أو التوقيت (Condition / Time)، وعمود يمثل قيمة الاستجابة النفسية أو السلوكية المقاسة (Score / Reaction Time). يتم إجراء هذا التحويل بسلاسة تامة باستخدام دالة pivot_longer() من حزمة tidyr على النحو التالي:
data_long <- data_wide %>%
pivot_longer(cols = c("Condition1", "Condition2", "Condition3"),
names_to = "Condition",
values_to = "Score") %>%
mutate(Subject = factor(Subject),
Condition = factor(Condition, levels = c("Condition1", "Condition2", "Condition3")))
يضمن تحويل المعرفات والمتغيرات التجريبية إلى عوامل (Factors) عبر دالة factor() تعامل دوال R الإحصائية معها ككتل تصنيفية وتفادي التعامل معها كأرقام عددية متصلة.
4.3 التحقق المبدئي من البيانات والاستكشاف الوصفي
قبل الشروع في الاختبار الاستدلالي، تقتضي الأصول المنهجية إجراء فحص وصفي مكثف للبيانات للتأكد من اكتمال القياسات وتوازن التصميم التجريبي (Balanced Design)؛ إذ يفترض اختبار فريدمان القياسي عدم وجود خلايا مفقودة داخل أي كتلة. يتم ذلك بفحص تكرار المشاهدات لكل مفحوص عبر دالة table(data_long$Subject, data_long$Condition).
نظراً لأن اختبار فريدمان اختبار لا معلمي مبني على الرتب، فإن مقاييس النزعة المركزية والتشتت التقليدية كالمتوسط والانحراف المعياري تفقد دلالتها التعبيرية الدقيقة في وجود الالتواء. وبناءً عليه، يتعين على الباحث استخراج الوسيط (Median) والمدى الربيعي (Interquartile Range – IQR) ونطاق القيم (Min – Max) لكل معالجة تجريبية. توفر حزمة rstatix دالة متقدمة وسريعة لحساب هذه الملخصات:
summary_stats <- data_long %>%
group_by(Condition) %>%
get_summary_stats(Score, type = "median_iqr")
تمنح هذه الخطوة الاستكشافية الباحث رؤية أولية واضحة حول اتجاهات البيانات ومواقع تركز الدرجات قبل تفسير المخرجات الاستدلالية الرسمية.
5. الصياغة النحوية لدالة friedman.test() في لغة R
5.1 الاستخدام الأساسي بالصيغة المتجهة (Vector Interface)
توفر البيئة الأساسية في لغة R دالة friedman.test() متعددة الواجهات لاستيعاب مختلف أشكال هياكل البيانات. تتمثل الواجهة الأولى في الصيغة المتجهة المباشرة (Vector Interface)، والتي تتطلب تمرير ثلاثة متجهات منفصلة ومتساوية في الطول تمثل: متجه قيم الاستجابة التابعة ($y$)، ومتجه يُحدد مستويات المعالجة أو المجموعة ($groups$)، ومتجه يُحدد الكتل أو المفحوصين ($blocks$).
تأخذ الصياغة النحوية لهذه الواجهة الشكل التالي:
friedman.test(y = data_long$Score, groups = data_long$Condition, blocks = data_long$Subject)
تُعد هذه الواجهة مفيدة عند إجراء التحليلات السريعة من خلال سطر الأوامر دون الحاجة إلى تغليف البيانات داخل أطر بيانات معقدة، إلا أنها تتطلب عناية فائقة للتأكد من تطابق ترتيب العناصر بدقة تامة عبر المتجهات الثلاثة لتجنب إسناد استجابات مفحوص إلى مفحوص آخر بالخطأ.
5.2 استخدام صيغة النماذج الإحصائية (Formula Interface)
تُمثل صيغة النماذج الإحصائية (Formula Interface) الأسلوب الأكثر شيوعاً، وأناقة، وتوافقاً مع المعايير البرمجية في R. تتبع هذه الواجهة صيغة النموذج الرمزي التراجعي الموسع، حيث يتم ربط المتغير التابع بالمعالجة والكتلة باستخدام الرمزين ~ و | على التوالي:
friedman.test(Score ~ Condition | Subject, data = data_long)
يُقرأ هذا التعبير الرياضي البرمجي كما يلي: “اختبر الفروق في درجات Score عبر مستويات المعالجة Condition مشروطة بكتل المفحوصين Subject، وذلك باستخدام مجموعة البيانات data_long“. تتميز هذه الصيغة بوضوحها البصري العالي، وتقليلها لاحتمالات الخطأ البشري في إسناد المتغيرات، فضلاً عن سهولة دمجها داخل سلاسل التحليل وسكربتات العمل التكرارية.
5.3 التعامل مع المصفوفات الرياضية (Matrix Interface)
تدعم دالة friedman.test() أيضاً واجهة المصفوفات الرياضية ثنائية الأبعاد (Matrix Interface). في هذا النسق، يتم تمرير مصفوفة رقمية مباشرة إلى الدالة بحيث تُمثل الصفوف الكتل التجريبية (المفحوصين)، وتُمثل الأعمدة مستويات المعالجة أو الشروط التجريبية المختلفة.
# مثال لتحليل مصفوفة عريضة مباشرة
response_matrix <- as.matrix(data_wide[, c("Drug_A", "Drug_B", "Drug_C", "Drug_D")])
friedman.test(response_matrix)
تتميز واجهة المصفوفات بسرعتها الحسابية الفائقة، مما يجعلها خياراً مثالياً عند تنفيذ تجارب المحاكاة الحاسوبية الموسعة (Monte Carlo Simulations) أو التحليلات المكثفة التي تتطلب تشغيل اختبار فريدمان آلاف المرات على مصفوفات بيانات ضخمة دون تحمل العبء الحسابي لإنشاء أطر البيانات الطويلة.
6. تطبيق عملي: قياس زمن الاستجابة النفسية تحت تأثير عقاقير مختلفة
6.1 بناء مجموعة البيانات التجريبية في R
لتجسيد التطبيق العملي الكامل، سنقوم بإنشاء مجموعة بيانات تجريبية تحاكي دراسة سيكوفارماكولوجية سريرية تهدف إلى تقييم أثر أربعة عقاقير مهدئة ومحسنة للمزاج (العقار A، العقار B، العقار C، والعقار D) على زمن الاستجابة الحركية-المعرفية (مقاساً بالمللي ثانية) لدى عينة تتكون من 10 مرضى يعانون من اضطراب القلق العام. خضع كل مريض للشروط الأربعة بفترات غسيل كيميائي مناسبة (Washout Periods) لضمان زوال أثر العقار السابق.
نقوم بإنشاء مجموعة البيانات وهيكلتها في بيئة R باستخدام الكود التالي:
# إنشاء بيانات القياسات النفسية التجريبية
set.seed(42) # لضمان تكرارية النتائج
psych_study <- tibble(
Subject = factor(rep(paste0("Patient_", 1:10), each = 4)),
Drug = factor(rep(c("Drug_A", "Drug_B", "Drug_C", "Drug_D"), times = 10),
levels = c("Drug_A", "Drug_B", "Drug_C", "Drug_D")),
Reaction_Time = c(
450, 480, 520, 610, # Patient 1
430, 470, 500, 590, # Patient 2
460, 490, 540, 630, # Patient 3
420, 440, 490, 560, # Patient 4
470, 510, 560, 650, # Patient 5
440, 460, 510, 600, # Patient 6
450, 480, 530, 620, # Patient 7
410, 430, 480, 550, # Patient 8
480, 520, 570, 670, # Patient 9
435, 465, 505, 595 # Patient 10
)
)
نلاحظ هنا أن كل مريض يشكل كتلة مكتملة تحتوي على 4 مشاهدات مقترنة تمثل زمن الاستجابة لكل دواء على حدة.
6.2 تنفيذ كود اختبار فريدمان خطوة بخطوة
سنقوم بتنفيذ التحليل باستخدام طريقتين متكاملتين: الأولى عبر دالة friedman.test() القياسية في Base R، والثانية باستخدام دالة friedman_test() الحديثة من حزمة rstatix التي تُنتج جداول إحصائية منظمة في هيئة Tibble تتكامل بسلاسة مع تقارير النشر العلمي.
# الطريقة الأولى: استخدام Base R
res_base <- friedman.test(Reaction_Time ~ Drug | Subject, data = psych_study)
print(res_base)
# الطريقة الثانية: استخدام حزمة rstatix
res_rstatix <- psych_study %>%
friedman_test(Reaction_Time ~ Drug | Subject)
print(res_rstatix)
تقوم الدالتان بحساب رتب أزمنة الاستجابة داخل كل مريض على حدة، ثم تجميع الرتب لكل عقار ومقارنتها بالقيمة المتوقعة تحت الفرضية الصفرية.
6.3 الفحص الأولي لمخرجات التحليل
عند تنفيذ الأوامر البرمجية السابقة، تظهر المخرجات الإحصائية في وحدة التحكم (Console) بالصيغة الهيكلية التالية:
# مخرجات Base R:
# Friedman rank sum test
# data: Reaction_Time and Drug and Subject
# Friedman chi-squared = 30, df = 3, p-value = 1.38e-06
# مخرجات rstatix:
# # A tibble: 1 x 6
# .y. n statistic df p method
# <chr> <int> <dbl> <int> <dbl> <chr>
# 1 Reaction_Time 10 30 3 0.00000138 Friedman test
يوضح الفحص الأولي أن إحصائية كاي-تربيع لفريدمان بلغت قيمتها المحسوبة $\chi^2 = 30$ بدرجات حرية $df = 3$ (وهي ناتجة عن طرح واحد من عدد العقاقير الأربعة: $4 – 1 = 3$). كما بلغت القيمة الاحتمالية المقابلة$p = 1.38 times 10^{-6}$، وهي قيمة بالغة الصغر وأقل بكثير من المستوى الحرج التقليدي$alpha = 0.05$.
7. قراءة وتفسير المخرجات الإحصائية وصياغة التقارير الأكاديمية
7.1 التفسير الإحصائي الدقيق لقيمة p-value وإحصائية الاختبار
يدل حصولنا على قيمة احتمالية بالغة الدلالة ($p < 0.001$) على وجود دليل إحصائي قاطع يدعو إلى رفض الفرضية الصفرية ($H_0$) التي تفترض تساوي وتطابق متوسطات رتب أزمنة الاستجابة بين العقاقير الأربعة. وبدلاً من ذلك، نتبنى الفرضية البديلة ($H_1$) التي تؤكد أن نوع العقار المهدئ يُحدث تأثيراً جوهرياً ومتبايناً على سرعة الاستجابة الحركية لدى مرضى القلق.
ومع ذلك، يجب على الباحث النفسي الحذر من الوقوع في المغالطة التفسيرية الشائعة؛ فاختبار فريدمان هو اختبار إجمالي (Omnibus Test). هذا يعني أن النتيجة الدالة تخبرنا فقط بوجود فرق دال بين زوج واحد على الأقل من العقاقير، لكنها لا تحدد على الإطلاق أي العقاقير تفوق على الآخر أو ما إذا كانت جميع العقاقير تختلف عن بعضها البعض بصورة متبادلة. للإجابة على هذا التساؤل التفصيلي، يصبح الانتقال إلى المقارنات البعدية المتعددة ضرورة حتمية.
7.2 كتابة النتائج وفق معايير جمعية علم النفس الأمريكية (APA Style)
يفرض دليل النشر الأكاديمي الصادر عن جمعية علم النفس الأمريكية (APA 7th Edition) توثيق نتائج الاختبارات اللامعلمية بصيغة محددة تتضمن إحصائية الاختبار، ودرجات الحرية، والقيمة الاحتمالية الدقيقة، مقترنة بمقاييس النزعة المركزية والتشتت اللامعلمية (الوسيط والمدى الربيعي) لكل مجموعة تجريبية على حدة.
الصيغة الرمزية المعتمدة لتوثيق فريدمان هي: Friedman χ²(df) = value, p = value.
نموذج صياغة التقرير الأكاديمي للنشر:
“أُجري اختبار فريدمان للرتب للتحقق من تأثير أربعة عقاقير علاجية مختلفة (Drug A, Drug B, Drug C, Drug D) على زمن الاستجابة الحركية لدى عينة من مرضى القلق العام ($N = 10$). أظهرت النتائج الإحصائية وجود فروق دالة إحصائياً في أزمنة الاستجابة بين العقاقير المختلفة، $\chi^2(3) = 30.00$، $p < .001$. أظهر الفحص الوصفي أن العقار A حقق أسرع زمن استجابة بوسط وسيط بلغ $445.00$ مللي ثانية ($IQR = 27.50$)، يليه العقار B بوسيط قدره $475.00$ مللي ثانية ($IQR = 27.50$)، ثم العقار C بوسيط قدره $515.00$ مللي ثانية ($IQR = 35.00$)، في حين سجل العقار D أبطأ زمن استجابة بوسط وسيط بلغ $605.00$ مللي ثانية ($IQR = 30.00$)."
8. المقارنات البعدية والاختبارات التتبعية (Post-Hoc Tests) في R
8.1 ضرورة إجراء المقارنات البعدية بعد اختبار فريدمان
عند رفض الفرضية الصفرية في اختبار فريدمان الإجمالي، تنشأ الحاجة المنهجية لإجراء اختبارات تتبعية لتحديد أزواج المعالجات المسؤولة عن هذه الدلالة. غير أن إجراء مقارنات زوجية متعددة ($k(k-1)/2$) يرفع بشكل حاد من احتمالية ارتكاب الخطأ من النوع الأول (Family-wise Error Rate)؛ أي استنتاج فروق دالة بالصدفة البحتة.
لذا، يجب إخضاع القيم الاحتمالية لأساليب الضبط والتصحيح الإحصائي. من أشهر هذه الأساليب: تصحيح بونفيروني (Bonferroni Correction)، وهو أسلوب صارم ومتحفظ يضرب القيمة الاحتمالية في عدد المقارنات الممكنة، وتصحيح هولم (Holm-Bonferroni Method) الذي يوفر قوة إحصائية أعلى مع الحفاظ الكامل على ضبط معدل الخطأ الكلي.
8.2 تطبيق اختبار ويلكوكسون للرتب الموقعة مع تصحيح بونفيروني
يُعد إجراء اختبار ويلكوكسون للرتب الموقعة للأزواج المرتبطة (Pairwise Wilcoxon Signed-Rank Tests) مع تطبيق تصحيح بونفيروني أحد أكثر الخيارات البعدية شيوعاً في الأبحاث السلوكية. يمكن تنفيذ هذا التحليل عبر حزمة rstatix باستخدام دالة pairwise_wilcox_test() التي تتيح ضبطاً دقيقاً للمقارنات المقترنة:
# تنفيذ المقارنات البعدية الزوجية باستخدام اختبار ويلكوكسون
pwc_wilcox <- psych_study %>%
pairwise_wilcox_test(
Reaction_Time ~ Drug,
paired = TRUE,
p.adjust.method = "bonferroni"
)
print(pwc_wilcox)
تُنتج هذه الدالة جدولاً مقارناً يوضح كل زوج من العقاقير (مثل Drug A مقابل Drug B، و Drug A مقابل Drug C، وهكذا)، مصحوباً بإحصائية الاختبار والقيمة الاحتمالية الأصلية والقيمة الاحتمالية المصححة ($p.adj$). في مثالنا الحالي، نظراً لأن جميع المرضى أظهروا تباطؤاً متسقاً ورتيباً في أزمنة الاستجابة عبر العقاقير بالترتيب ($A < B < C < D$)، ستظهر جميع المقارنات الزوجية دلالة إحصائية واضحة بعد التصحيح ($p.adj < 0.05$).
8.3 إجراء اختبار نيميني (Nemenyi Test) للمقارنات المتعددة
على الرغم من شيوع اختبار ويلكوكسون المصحح، إلا أن الاختبار البعدي المصمم خصيصاً ليتطابق رياضياً مع نموذج فريدمان هو اختبار نيميني (Nemenyi Test). يعتمد اختبار نيميني على حساب متوسطات الرتب الإجمالية ومقارنة الفروق بينها بحد حرج يسمى “الفرق الحرج” (Critical Difference – CD)، المستند إلى التوزيع المدى الطلابي (Studentized Range Distribution).
يمكن تنفيذ اختبار نيميني في لغة R عبر حزمة PMCMRplus باستخدام دالة frdAllPairsNemenyiTest():
# تنفيذ اختبار نيميني البعدي المخصص لاختبار فريدمان
res_nemenyi <- frdAllPairsNemenyiTest(
Reaction_Time ~ Drug | Subject,
data = psych_study
)
summary(res_nemenyi)
يوفر اختبار نيميني مقارنة متوازنة ومحافظة تأخذ في الحسبان بنية الترتيب الداخلي للكتل دون تفتيت العينة إلى اختبارات ثنائية منفصلة، مما يجعله الخيار المفضل لدى العديد من الإحصائيين في مجالات القياس النفسي والمعلوماتي.
9. حساب حجم الأثر (Effect Size) لاختبار فريدمان في R
9.1 مفهوم معامل توافق كيندال (Kendall’s W)
لا تكتمل المعالجة الإحصائية الحديثة بمجرد استخراج الدلالة الإحصائية؛ فالقيمة الاحتمالية تتأثر بشدة بحجم العينة ولا تعكس مقدار القوة الحقيقية للظاهرة أو حجم التباين المفسر. يُعد معامل توافق كيندال (Kendall’s W)، المعروف أيضاً بمعامل الاتفاق التوافقي، المقياس المعياري الأكثر دقة لحساب حجم الأثر لاختبار فريدمان.
يقيس معامل $W$ درجة الاتفاق أو الانسجام في ترتيب المعالجات عبر الكتل (المفحوصين). يرتبط معامل كيندال رياضياً بإحصائية فريدمان المحسوبة $Q$ من خلال العلاقة المباشرة التالية:
$$W = \frac{Q}{n (k – 1)}$$
تتراوح قيمة $W$ بين 0 و 1 بشكل مطلق؛ حيث تشير القيمة 0 إلى الغياب التام لأي اتفاق في الترتيب بين المفحوصين (تشتت عشوائي)، بينما تشير القيمة 1 إلى الاتفاق والإجماع التام بين جميع المفحوصين على نفس ترتيب المعالجات التجريبية، مما يدل على وجود أثر تجريبي مطلق وبالغ القوة.
9.2 حساب حجم الأثر عملياً باستخدام حزمة rstatix
توفر حزمة rstatix دالة مخصصة وعالية الكفاءة لحساب معامل توافق كيندال وفترات الثقة المقابلة له وهي دالة friedman_effsize(). يتم تطبيق الدالة مباشرة على البيانات الطويلة كما يلي:
# حساب حجم الأثر (Kendall's W)
eff_size <- psych_study %>%
friedman_effsize(Reaction_Time ~ Drug | Subject)
print(eff_size)
# المخرجات المتوقعة:
# # A tibble: 1 x 5
# .y. n effsize method magnitude
# <chr> <int> <dbl> <chr> <chr>
# 1 Reaction_Time 10 1 Kendall W large
في تطبيقنا التجريبي، بلغت قيمة معامل كيندال $W = 1.00$، وهي أقصى قيمة ممكنة تشير إلى أن جميع المرضى العشرة بلا استثناء كان لديهم نفس الترتيب الدقيق في زمن الاستجابة عبر العقاقير الأربعة، مما يؤكد وجود أثر تجريبي كبير جداً لا يرقى إليه الشك.
9.3 معايير تفسير حجم الأثر في البحوث النفسية
تخضع مستويات معامل توافق كيندال $W$ لقواعد التفسير المعيارية المشتقة من إرشادات كوهين (Cohen’s Benchmarks) للعلوم السلوكية والاجتماعية على النحو التالي:
- أثر صغير (Small Effect): $0.1 le W < 0.3$ (اتفاق ضعيف إلى متواضع بين القياسات).
- أثر متوسط (Moderate Effect): $0.3 le W < 0.5$ (اتفاق ملحوظ وذو دلالة عملية متوسطة).
- أثر كبير (Large Effect): $W ge 0.5$ (اتفاق قوي جداً يعكس تمايزاً حاسماً بين المعالجات).
يُعد إدراج حجم الأثر وتفسيره خطوة محورية في النشر العلمي؛ إذ يُمكّن الباحثين اللاحقين من استخدام هذه التقديرات في دراسات التحليل البعدي (Meta-Analyses) وحساب القوة الإحصائية المطلوبة وحجم العينات في التصاميم التجريبية المستقبلية.
10. التصور البصري لنتائج اختبار فريدمان باستخدام حزمة ggplot2
10.1 تصميم المخططات الصندوقية للقياسات المتكررة (Boxplots)
يُعد المخطط الصندوقي (Boxplot) الوسيلة المرئية المثلى لتمثيل توزيعات البيانات اللامعلمية؛ حيث يوضح خط الوسيط، والمدى الربيعي (الصندوق)، والقيم القصوى والدنيا. ولتعزيز القيمة الإخبارية للرسم، يُفضل تراكب النقاط الفردية المبعثرة (Jittered Points) لتوضيح كثافة الدرجات الأصلية للمفحوصين تحت كل معالجة.
يمكن بناء هذا المخطط الأكاديمي الجذاب باستخدام حزمة ggplot2 عبر الكود التالي:
# رسم المخطط الصندوقي مع تراكب النقاط الفردية
p_box <- ggplot(psych_study, aes(x = Drug, y = Reaction_Time, fill = Drug)) +
geom_boxplot(alpha = 0.7, outlier.shape = NA, width = 0.5) +
geom_jitter(width = 0.15, size = 2, alpha = 0.8, color = "black") +
scale_fill_brewer(palette = "Set2") +
labs(
title = "تأثير العقاقير المختلفة على زمن الاستجابة النفسية",
subtitle = "اختبار فريدمان: χ²(3) = 30.00, p < 0.001, W = 1.00",
x = "نوع العقار التجريبي",
y = "زمن الاستجابة الحركية (مللي ثانية)"
) +
theme_classic() +
theme(legend.position = "none", text = element_text(size = 12))
print(p_box)
10.2 رسم مخططات المسارات الفردية (Profile / Spaghetti Plots)
تكمن قوة تصاميم القياسات المتكررة في القدرة على تتبع التغير الحادث لدى كل فرد على حدة. يُظهر مخطط المسارات الفردية (Profile Plot أو Spaghetti Plot) خطاً بيانياً يربط قياسات كل مريض عبر الشروط التجريبية، مما يسمح بفحص الاتساق الداخلي للاستجابات ورصد أي حالات شاذة تخالف الاتجاه العام للمجموعة.
يتم تنفيذ هذا المخطط بإضافة طبقة خطية تُحدد المعرف الفردي كعامل تجميع:
# رسم مسارات الأفراد عبر الشروط التجريبية
p_profile <- ggplot(psych_study, aes(x = Drug, y = Reaction_Time, group = Subject, color = Subject)) +
geom_line(size = 0.8, alpha = 0.7) +
geom_point(size = 2.5) +
labs(
title = "المسارات الفردية لاستجابة المرضى عبر العقاقير المختلفة",
x = "نوع العقار",
y = "زمن الاستجابة (مللي ثانية)"
) +
theme_minimal() +
theme(legend.position = "right")
print(p_profile)
يوضح هذا الرسم بجلاء التوازي الشبه التام في خطوط استجابة المرضى، مما يفسر بصرياً سبب وصول معامل كيندال إلى قيمته العظمى.
10.3 إضافة أقواس الدلالة الإحصائية للمقارنات البعدية
لإعداد أشكال بيانية جاهزة مباشرة للإدراج في المجلات العلمية المحكمة، يمكن دمج نتائج المقارنات البعدية وأقواس الدلالة الإحصائية فوق المخطط الصندوقي باستخدام حزمة ggpubr ودالة stat_pvalue_manual():
# تجهيز جدول المقارنات البعدية للرسم
pwc_wilcox_plot <- pwc_wilcox %>%
add_xy_position(x = "Drug")
# إضافة أقواس الدلالة إلى المخطط الصندوقي
p_final <- ggboxplot(psych_study, x = "Drug", y = "Reaction_Time", color = "Drug", palette = "jco") +
stat_pvalue_manual(pwc_wilcox_plot, label = "p.adj.signif", tip.length = 0.01, hide.ns = TRUE) +
labs(
title = "المقارنات البعدية لأزمنة الاستجابة بين العقاقير",
caption = "تم ضبط القيم الاحتمالية باستخدام تصحيح بونفيروني (* p < 0.05, ** p < 0.01, *** p < 0.001)"
) +
theme_pubr()
print(p_final)
# تصدير الشكل بدقة طباعة عالية (300 DPI)
ggsave("Friedman_Results_Plot.png", plot = p_final, width = 8, height = 6, dpi = 300)
11. التعامل مع الحالات الخاصة والتصاميم المتقدمة
11.1 معالجة البيانات المفقودة والتصاميم غير المتوازنة
يتمثل أحد القيود المنهجية الجوهرية لاختبار فريدمان الكلاسيكي في حساسيته الشديدة للبيانات المفقودة؛ إذ يشترط الاختبار اكتمال المشاهدات عبر جميع الشروط لجميع الكتل دون استثناء. وفي حال غياب قياس واحد فقط لمفحوص معين في أحد الشروط، تقوم دالة friedman.test() باستبعاد المريض بالكامل من التحليل (Listwise Deletion)، مما يؤدي إلى هدر البيانات وخفض القوة الإحصائية.
في سيناريوهات التصاميم غير المكتملة المتوازنة (Balanced Incomplete Block Designs – BIBD) أو عند وجود بيانات مفقودة بصورة عشوائية تماماً (MCAR)، يُعد اختبار سكيلينغز-ماك (Skillings-Mack Test) التعميم الإحصائي الأمثل والبديل المباشر لاختبار فريدمان. يتعامل هذا الاختبار بكفاءة عالية مع الكتل غير المكتملة ويقوم بوزن المشاهدات المتاحة بدقة. يمكن تنفيذ هذا الاختبار في R باستخدام دالة Ski.Mack() من حزمة Skillings.Mack:
# تثبيت واستخدام حزمة سكيلينغز-ماك للتصاميم غير المكتملة
# install.packages("Skillings.Mack")
library(Skillings.Mack)
# تطبيق الاختبار على مصفوفة بيانات تحتوي على قيم مفقودة (NA)
# Ski.Mack(matrix_with_na)
11.2 اختبارات التباديل وإعادة العينات (Permutation Tests)
عندما تكون أحجام العينات صغيرة جداً ($n < 10$) مع وجود شروط تجريبية قليلة ($k = 3$)، فإن الاعتماد على التوزيع المقارب لكاي-تربيع قد يؤدي إلى تقديرات متساهلة أو غير دقيقة للقيمة الاحتمالية. في هذه الظروف، يوصى بالاعتماد على اختبارات التباديل الدقيقة (Exact Permutation Tests).
توفر حزمة coin بيئة برمجية متطورة لتنفيذ اختبارات إعادة التوزيع الدقيقة لفريدمان عبر دالة friedman_test():
# تنفيذ اختبار فريدمان الدقيق القائم على التباديل
res_exact <- coin::friedman_test(
Reaction_Time ~ Drug | Subject,
data = psych_study,
distribution = "exact" # حساب القيمة الاحتمالية الدقيقة عبر التباديل
)
print(res_exact)
تقوم هذه الدالة بتبديل الرتب عشوائياً داخل كل صف لعدد كبير من المرات لتوليد التوزيع التجريبي الفعلي للبيانات، مما يضمن حساب دقيق وخالٍ من الانحياز للقيمة الاحتمالية.
11.3 التحكم في المتغيرات الإضافية والتصاميم متعددة العوامل
يقتصر اختبار فريدمان القياسي على التصاميم أحادية العامل ذات القياسات المتكررة (One-Way Repeated Measures). ومع ذلك، تتضمن التجارب النفسية الواقعية في كثير من الأحيان تفاعلات بين عوامل متعددة؛ مثل دراسة تأثير نوع العقار (Drug: 4 مستويات) مع عامل بين المفحوصين مثل الجنس (Gender: ذكور/إناث)، أو عامل إضافي داخل المفحوصين مثل نوع الإثارة المعرفية (Task Difficulty: منخفض/مرتفع).
في مثل هذه التصاميم المعقدة متعددة العوامل اللامعلمية، يقف اختبار فريدمان عاجزاً عن تقدير تأثيرات التفاعل (Interactions). يكمن الحل المنهجي المتقدم في استخدام منهجية تحليل البيانات غير المعلمية للتصاميم الطولية المتعددة عبر حزمة nparLD (Nonparametric Analysis of Longitudinal Data in Factorial Experiments). توفر هذه الحزمة نماذج متطورة تُحاكي تحليلات التباين متعددة العوامل اللامعلمية بالاعتماد على الرتب النسبية التراكمية، مما يسمح باختبار التأثيرات الرئيسية وتأثيرات التفاعل بدقة متناهية.
12. الأخطاء الشائعة وأفضل الممارسات المنهجية
12.1 الأخطاء التحليلية والمنهجية الأكثر تكراراً
يقع بعض الباحثين في مزالق إحصائية خطيرة أثناء التعامل مع البيانات المرتبطة؛ من أبرز هذه الأخطاء:
- الخلط بين اختبار كروسكال-واليس واختبار فريدمان: تطبيق اختبار كروسكال-واليس (Kruskal-Wallis) على عينات مرتبطة أو قياسات متكررة. يُعد كروسكال-واليس مخصصاً حصرياً للعينات المستقلة، واستخدامه مع بيانات القياسات المتكررة يُلغي ترابط الكتل ويؤدي إلى نتائج باطلة تماماً.
- إجراء اختبارات T المترابطة المتعددة دون تصحيح: تنفيذ سلسلة من اختبارات $t$ للمجموعات المترابطة أو اختبارات ويلكوكسون الثنائية بعد اختبار فريدمان دون استخدام وسائل ضبط الدلالة كبونفيروني أو هولم، مما يضخم احتمالية الحصول على دلالة زائفة ناتجة عن التكرار.
- تجاهل بنية وتطابق المعرفات (Subject Matching): عدم التأكد من أن كل صف في مجموعة البيانات يمثل نفس المفحوص عبر جميع الشروط، أو حدوث خلط في ترتيب المعرفات أثناء إعادة تشكيل البيانات، مما يدمر الترابط بين المشاهدات.
12.2 قائمة التحقق المنهجية قبل نشر التحليلات الإحصائية
لضمان أعلى معايير الجودة والشفافية في التقارير الإحصائية النفسية، يُوصى باتباع قائمة التحقق المنهجية التالية قبل تقديم الأوراق البحثية للنشر:
- [ ] التحقق من أن المتغير التابع مقاس بمستوى رتبي أو كمي مستمر، وأن المتغير المستقل يحتوي على $ge 3$ شروط مرتبطة.
- [ ] فحص اكتمال البيانات داخل كل كتلة والتأكد من غياب القيم المفقودة، أو استخدام اختبار سكيلينغز-ماك كبديل في حالة التصاميم غير المكتملة.
- [ ] توثيق الإحصاءات الوصفية اللامعلمية الكاملة (الوسيط، المدى الربيعي IQR) لكل مستوى تجريبي إلى جانب الإحصاءات الاستدلالية.
- [ ] توثيق إحصائية الاختبار بدقة متناهية: قيمة كاي-تربيع، درجات الحرية، والقيمة الاحتمالية المحددة ($\chi^2(df) = dots, p = dots$).
- [ ] حساب وتوثيق حجم الأثر المعياري (معامل توافق كيندال Kendall’s W) وتفسير مستواه العملي.
- [ ] تفصيل خطوات المقارنات البعدية مع ذكر أسلوب التصحيح المعتمد (مثل تصحيح بونفيروني أو اختبار نيميني).
- [ ] حفظ كود التحليل بالكامل في بيئة تقارير قابلة لإعادة الإنتاج (مثل Quarto أو R Markdown) لضمان موثوقية وتكرارية البحث العلمي (Reproducibility).
12.3 ملخص شامل وخطوات تطبيقية سريعة للممارسين
يوفر الجدول الذهبي البرمجي التالي خلاصة مركزة لكافة الأوامر الحسابية والتحليلية اللازمة لتنفيذ سير العمل الإحصائي المتكامل لاختبار فريدمان في بيئة R:
# 1. الاستكشاف الوصفي
data %>% group_by(Condition) %>% get_summary_stats(Score, type = "median_iqr")
# 2. الاختبار الإجمالي لفريدمان
res_f <- data %>% friedman_test(Score ~ Condition | Subject)
# 3. حساب حجم الأثر (Kendall's W)
res_w <- data %>% friedman_effsize(Score ~ Condition | Subject)
# 4. المقارنات البعدية المصححة
res_ph <- data %>% pairwise_wilcox_test(Score ~ Condition, paired = TRUE, p.adjust.method = "bonferroni")
# 5. التصور البياني النهائي
ggboxplot(data, x = "Condition", y = "Score", add = "jitter") +
stat_pvalue_manual(res_ph %>% add_xy_position(x = "Condition"), label = "p.adj.signif")
خاتمة
يمثل اختبار فريدمان ركيزة استدلالية لا غنى عنها في ترسانة الباحث النفسي والسلوكي؛ حيث يوفر حلاً رياضياً رصيناً لتحليل تصاميم القياسات المتكررة والكتل الموفقة عند تعذر الوفاء بالافتراضات المعلمية الصارمة. ومن خلال توظيف الإمكانيات البرمجية الهائلة للغة R وحزمها المتخصصة مثل tidyverse و rstatix و PMCMRplus، يستطيع الباحث إدارة دورة التحليل الإحصائي بكفاءة فائقة—بدءاً من تنظيف البيانات واستكشافها الوصفي، ومروراً بتنفيذ الاختبار الإجمالي وحساب أحجام الأثر المعيارية عبر معامل توافق كيندال، ووصولاً إلى إجراء المقارنات البعدية المحمية وتوليد المخططات البيانية الاحترافية الجاهزة للنشر الأكاديمي الرصين وفق معايير APA.
المراجع (References)
- American Psychological Association. (2020). Publication manual of the American Psychological Association (7th ed.). American Psychological Association. https://doi.org/10.1037/0000165-000
- Cohen, J. (1988). Statistical power analysis for the behavioral sciences (2nd ed.). Lawrence Erlbaum Associates.
- Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE Publications.
- Friedman, M. (1937). The use of ranks to avoid the assumption of normality implicit in the analysis of variance. Journal of the American Statistical Association, 32(200), 675–701. https://doi.org/10.1080/01621459.1937.10503522
- Friedman, M. (1939). A correction: The use of ranks to avoid the assumption of normality implicit in the analysis of variance. Journal of the American Statistical Association, 34(205), 109–109. https://doi.org/10.1080/01621459.1939.10502372
- Holland-Letz, T., & Kopp-Schneider, A. (2015). Optimal allocation of sample sizes for the Friedman test and its extensions. Statistical Methods in Medical Research, 26(4), 1845–1856. https://doi.org/10.1177/0962280215588358
- Kassambara, A. (2023). rstatix: Pipe-Friendly Framework for Basic Statistical Tests (R package version 0.7.2). CRAN. https://CRAN.R-project.org/package=rstatix
- Kendall, M. G., & Babington Smith, B. (1939). The problem of $m$ rankings. The Annals of Mathematical Statistics, 10(3), 275–287. https://doi.org/10.1214/aoms/1177732186
- Noguchi, K., Gel, Y. R., Brunner, E., & Konietschke, F. (2012). nparLD: An R software package for the nonparametric analysis of longitudinal data in factorial experiments. Journal of Statistical Software, 50(12), 1–23. https://doi.org/10.18637/jss.v050.i12
- Pohlert, T. (2023). PMCMRplus: Calculate Pairwise Multiple Comparisons of Mean Rank Sums Extended (R package version 1.9.8). CRAN. https://CRAN.R-project.org/package=PMCMRplus
- R Core Team. (2024). R: A language and environment for statistical computing. R Foundation for Statistical Computing, Vienna, Austria. https://www.R-project.org/
- Skillings, J. H., & Mack, G. A. (1981). On the use of a Friedman-type statistic in balanced and unbalanced block designs. Technometrics, 23(2), 171–177. https://doi.org/10.1080/00401706.1981.10486261
- Wickham, H., Averick, M., Bryan, J., Chang, W., McGowan, L. D., François, R., Grolemund, G., Hayes, A., Henry, L., Hester, J., Kuhn, M., Pedersen, T. L., Miller, E., Bache, S. M., Müller, K., Ooms, J., Robinson, D., Seidel, D. P., Spinu, V., … Yutani, H. (2019). Welcome to the Tidyverse. Journal of Open Source Software, 4(43), 1686. https://doi.org/10.21105/joss.01686