يحتل الاستدلال الإحصائي في الأبحاث التجريبية والعلوم السلوكية والطبية مكانة مركزية عند مقارنة الفروق بين المجموعات المعالجة وتحديد مدى فاعلية التدخلات الحديثة مقارنة بالمعايير التقليدية. في العديد من التصاميم التجريبية، لا يكون الباحث معنياً بمقارنة كل مجموعة تجريبية بجميع المجموعات الأخرى بشكل زوجي عشوائي، بل ينصب الاهتمام البحثي الأساسي والمنهجي على مقارنة عدة مجموعات علاجية بمجموعة مرجعية واحدة تُعرف بالمجموعة الضابطة (Control Group). إن اللجوء إلى الاختبارات البعدية العامة، مثل اختبار توكي للفروق ذات الدلالة الحقيقية، في مثل هذه السيناريوهات يؤدي إلى إهدار ملحوظ في القوة الإحصائية (Statistical Power) وزيادة لا مبرر لها في التحفظ الإحصائي، مما قد يخفي فروقاً جوهرية ذات دلالة إكلينيكية أو عملية حقيقية.
هنا تبرز الأهمية الفائقة لاختبار دونيت (Dunnett’s Test) بوصفه الأداة المعلمية الأكثر ملاءمة وكفاءة للتعامل مع هذا النوع من الفرضيات الموجهة. يوفر اختبار دونيت حلاً رياضياً دقيقاً يضبط معدل الخطأ من النوع الأول على مستوى الأسرة (Family-Wise Error Rate) دون التضحية بالحساسية الإحصائية، مستنداً إلى توزيع احتمالي متعدد المتغيرات يأخذ في الحسبان الترابط الطبيعي الناشئ عن مقارنة كل مجموعة بنفس المجموعة الضابطة المشتركة. ومع التطور المتسارع للبرمجيات الإحصائية مفتوحة المصدر، أصبحت بيئة الحوسبة الإحصائية R Statistical Computing Platform الخيار الأمثل والمنصة الرائدة لتطبيق هذه الاختبارات المتقدمة بدقة متناهية وإمكانيات بصرية متميزة.
يهدف هذا الدليل الشامل والمفصل إلى تزويد الباحثين والأكاديميين وعلماء البيانات بمرجع رصين ومتكامل حول كيفية تنفيذ وتفسير وتقرير اختبار دونيت داخل لغة R. سنستعرض الأسس النظرية والرياضية التي يقوم عليها الاختبار، ونقارنه بعمق مع الاختبارات البعدية البديلة، مع شرح تفصيلي لخطوات التحقق من الافتراضات الإحصائية، وبناء النماذج، واستخدام الحزم المتخصصة، وتوليد الرسوم البيانية التوضيحية عالية الجودة، وانتهاءً بتوثيق النتائج وفق معايير جمعية علم النفس الأمريكية (APA Style).
- 1. مقدمة إلى اختبار دونيت (Dunnett’s Test) وأهميته الإحصائية
- 2. مقارنة اختبار دونيت مع الاختبارات البعدية الأخرى
- 3. الافتراضات الإحصائية لاختبار دونيت والتحقق منها في R
- 4. إعداد بيئة العمل وتثبيت الحزم البرمجية في لغة R
- 5. بناء وهيكلة البيانات التجريبية في R
- 6. التحليل الاستكشافي للبيانات وتصور المتوسطات قبل الاختبار
- 7. إجراء تحليل التباين أحادي الاتجاه (One-Way ANOVA) كخطوة تمهيدية
- 8. تنفيذ اختبار دونيت في R باستخدام حزمة multcomp
- 9. طرق وحزم بديلة لتنفيذ اختبار دونيت في R
- 10. تصور نتائج اختبار دونيت بيانياً في R
- 11. صياغة وتوثيق نتائج اختبار دونيت وفق دليل APA للبحث العلمي
- 12. الأخطاء الشائعة واستراتيجيات التعامل مع التحديات المتقدمة
- خاتمة
- References
1. مقدمة إلى اختبار دونيت (Dunnett’s Test) وأهميته الإحصائية
1.1 المفهوم النظري لاختبار دونيت
يُعد اختبار دونيت (Dunnett’s Test) من الاختبارات البعدية (Post-Hoc Tests) المعلمية المصممة خصيصاً لحل مسألة المقارنات المتعددة في التصاميم التجريبية التي تتضمن مجموعة ضابطة (Control Group) واحدة وعدداً من المجموعات المعالجة أو التجريبية (Treatment Groups). طور هذا الاختبار الإحصائي الكندي تشارلز ويليام دونيت (Charles William Dunnett) في ورقته البحثية البارزة المنشورة عام 1955 في دورية الجمعية الإحصائية الأمريكية (Journal of the American Statistical Association). انطلق دونيت من إدراك عميق لمحدودية تطبيق اختبارات t المتعددة المستقلة، وكذلك عدم ملاءمة اختبارات الفروق الشاملة مثل اختبار توكي في الحالات التي لا تتطلب مقارنة المجموعات التجريبية ببعضها البعض.
تتمحور الآلية الرياضية للاختبار حول حساب الفروق بين متوسط كل مجموعة تجريبية ومتوسط المجموعة الضابطة، وقسمة هذا الفرق على الخطأ المعياري للفرق، والذي يُستخرج مباشرة من التباين المتبقي المشترك داخل المجموعات الناتج عن جدول تحليل التباين أحادي الاتجاه (One-Way ANOVA). وبما أن المجموعة الضابطة تشترك في جميع المقارنات، فإن الفروق المحسوبة ليست مستقلة إحصائياً بل ترتبط ببعضها البعض بمعامل ارتباط رياضي يُعبر عنه بـ $\rho_{ij} = \sqrt{\frac{n_i}{n_i + n_0} \cdot \frac{n_j}{n_j + n_0}}$؛ حيث يمثل $n_0$ حجم عينة المجموعة الضابطة و$n_i, n_j$ أحجام عينات المجموعات التجريبية المقارنة.
تنتشر تطبيقات هذا الاختبار على نطاق واسع في البحوث الإكلينيكية والدوائية، حيث يُقارن دواء وهمي (Placebo) أو العلاج القياسي المعتمد بعدة جرعات دوائية جديدة. كما يُعد ركيزة أساسية في أبحاث علم النفس التجريبي والعلوم السلوكية لدراسة استجابة الأفراد لعدة استراتيجيات تدخل سلوكي مقارنة بالوضع المرجعي الأساسي (Baseline Condition)، مما يوفر أساساً متيناً لاتخاذ القرارات العلمية المبنية على الدلائل التجريبية المحكمة.
1.2 أهمية الاختبار في ضبط معدل الخطأ من النوع الأول (Family-Wise Error Rate)
عند اختبار الفرضيات الإحصائية، يمثل الخطأ من النوع الأول (Type I Error) احتمال رفض الفرضية الصفرية في حين أنها صحيحة في الواقع، وهو ما يُعرف إحصائياً بمستوى الدلالة $\alpha$، والذي يُحدد تقليدياً بقيمة 0.05 لكل اختبار فردي. ومع ذلك، عندما يُجري الباحث عدداً من المقارنات المستقلة $k$، فإن احتمال ارتكاب خطأ واحد على الأقل من النوع الأول عبر جميع هذه المقارنات يتضخم بصورة أسية وفق المعادلة: $\alpha_{FWER} = 1 – (1 – \alpha)^k$. فإذا كان لدينا 4 مجموعات تجريبية ومجموعة ضابطة واحدة، وتم إجراء 4 اختبارات t منفصلة، فإن معدل الخطأ الكلي للأسرة يقفز إلى ما يقارب $1 – (1 – 0.05)^4 \approx 0.185$ أو 18.5%، وهي نسبة مخاطرة غير مقبولة في التقاليد المنهجية الرصينة.
يعالج اختبار دونيت هذه المعضلة من خلال ضبط معدل الخطأ العائلي (Family-Wise Error Rate – FWER) بدقة عند المستوى المحدد مسبقاً (مثلاً $\alpha = 0.05$) لجميع المقارنات التي تشترك فيها المجموعة الضابطة. ويتحقق ذلك عبر توظيف توزيع دونيت متعدّد المتغيرات (Multivariate Dunnett Distribution) المعتمد على درجات الحرية للخطأ والارتباط الداخلي بين المقارنات.
تتجلى الأهمية الجوهرية لهذا الضبط في تحقيقه لتوازن مثالي بين السيطرة على الأخطاء الشائعة وتعظيم القوة الإحصائية (Statistical Power). فالقوة الإحصائية تعكس قدرة الاختبار على اكتشاف الفروق الحقيقية الموجودة بالفعل، واختبار دونيت يضمن ألا يؤدي تقليل الخطأ من النوع الأول إلى زيادة غير مرغوبة في الخطأ من النوع الثاني (Type II Error)، وهو الفشل في اكتشاف الأثر الحقيقي للتدخلات التجريبية.
1.3 الفرضيات الإحصائية لاختبار دونيت
يقوم اختبار دونيت على هيكل فرضيات إحصائية محدد بدقة، ينبع مباشرة من أهداف البحث التجريبي وطبيعة التساؤلات المطروحة. في الصيغة القياسية ثنائية الاتجاه (Two-Sided Hypotheses)، تُصاغ الفرضية الصفرية والفرضية البديلة لكل مقارنة بين مجموعة تجريبية $i$ (حيث $i = 1, 2, dots, k$) والمجموعة الضابطة (المشار إليها بالرمز $0$ أو $C$) على النحو الآتي:
- الفرضية الصفرية ($H_0$): $\mu_i = \mu_0$ (أو $\mu_i – \mu_0 = 0$)؛ وتنص على عدم وجود أي فرق ذي دلالة إحصائية بين متوسط مجتمع المجموعة التجريبية ومتوسط مجتمع المجموعة الضابطة.
- الفرضية البديلة ($H_1$): $\mu_i \neq \mu_0$ (أو $\mu_i – \mu_0 \neq 0$)؛ وتنص على أن متوسط المجموعة التجريبية يختلف بصورة جوهرية عن متوسط المجموعة الضابطة (سواء بالزيادة أو النقصان).
وفي بعض السياقات التجريبية ذات التوجهات النظرية المحددة مسبقاً، يمكن للباحث تبني فرضيات أحادية الاتجاه (One-Sided Hypotheses). على سبيل المثال، في دراسات خفض أعراض القلق النفسي، قد تكون الفرضية البديلة موجهة لإثبات تفوق العلاج بالانخفاض: $H_1: \mu_i \mu_0$. تزيد الفرضيات أحادية الاتجاه من القوة الإحصائية للاختبار في الاتجاه المحدد، لكنها تتطلب تبريراً نظرياً قوياً قبل جمع البيانات وتفريغها.
يرتبط مستوى الدلالة ($\alpha$) ارتباطاً مباشراً بحساسية الاختبار؛ فاختيار قيمة $\alpha = 0.01$ يفرض صرامة بالغة تقلل من احتمال قبول نتائج كاذبة ولكنها تتطلب أحجام عينات أكبر لاكتشاف الفروق الصغيرة، في حين أن الاعتماد على $\alpha = 0.05$ يمثل المعيار القياسي المتوازن في معظم الأدبيات النفسية والاجتماعية والطبية.
2. مقارنة اختبار دونيت مع الاختبارات البعدية الأخرى
2.1 مقارنة بين اختبار دونيت واختبار توكي (Tukey’s HSD)
يمثل اختبار توكي للفروق ذات الدلالة الصادقة (Tukey’s Honestly Significant Difference – HSD) أحد أشهر الاختبارات البعدية، وهو مصمم لإجراء مقارنات شاملة لجميع الأزواج الممكنة (All-Pairwise Comparisons). فإذا كانت التجربة تحتوي على $k$ من المجموعات، فإن اختبار توكي يُجري $\frac{k(k-1)}{2}$ من المقارنات. في المقابل، يقتصر اختبار دونيت على إجراء $k-1$ من المقارنات فقط، وهي المقارنات التي تتضمن المجموعة الضابطة حصراً.
ينعكس هذا الاختلاف الجوهري في بنية الفرضيات مباشرة على القيمة الحرجة (Critical Value) المستخدمة في تقييم الدلالة الإحصائية. ونظراً لأن اختبار توكي يضبط الخطأ العائلي لعدد أكبر بكثير من المقارنات المحتملة، فإن القيمة الحرجة لديه تكون أكبر وأكثر تحفظاً مقارنة بالقيمة الحرجة لاختبار دونيت لنفس مستوى الدلالة ودرجات الحرية.
يترتب على ذلك أن استخدام اختبار توكي عندما يكون الهدف الوحيد هو مقارنة المجموعات بمجموعة مرجعية يُعد هدراً حقيقياً للقوة الإحصائية (Waste of Statistical Power). فاختبار توكي يستهلك هامش الخطأ المسموح به في حساب فروق غير ذات صلة بأهداف البحث (مثل مقارنة المجموعة التجريبية الأولى بالثانية)، مما يجعل اكتشاف الفروق بين العلاجات والمجموعة الضابطة أكثر صعوبة، وقد يقود الباحث إلى استنتاجات خاطئة بعدم فاعلية العلاج.
2.2 مقارنة بين اختبار دونيت وتصحيح بونفيروني (Bonferroni Correction)
يُعد تصحيح بونفيروني (Bonferroni Correction) من أبسط وأقدم الأساليب المتبعة للتحكم في معدل الخطأ العائلي، حيث يقوم على مبدأ تقسيم مستوى الدلالة الإجمالي $\alpha$ على عدد المقارنات المنجزة $m$، لتصبح العتبة لكل اختبار فردي هي $\alpha_{adj} = \frac{\alpha}{m}$. ورغم بساطته وقابليته للتطبيق الرياضي اليدوي السريع، إلا أنه يتسم بدرجة فائقة من التحفظ (Conservatism)، ترتكز على متباينة بونفيروني التي تفترض استقلالية المقارنات أو أسوأ الحالات الممكنة للترابط.
يتفوق اختبار دونيت تفوقاً رياضياً وإحصائياً ساحقاً على تصحيح بونفيروني في سياق المقارنة مع مجموعة ضابطة؛ إذ يستغل دونيت مصفوفة التغاير والارتباط الدقيق المشترك بين الفروق الإحصائية، مما ينتج عنه قيم حرجة أكثر ملاءمة وأضيق مدى، وبالتالي تزداد حساسية الاختبار لرفض الفرضية الصفرية عندما تكون خاطئة بالفعل دون أي إخلال بسقف الخطأ العائلي.
في بيئة لغة R، لا توجد أي ضرورة برمجية أو منهجية للجوء إلى تصحيح بونفيروني اليدوي أو التقريبي عند توفر أدوات حوسبة مباشرة لاختبار دونيت تعتمد على التكامل العددي للتوزيعات متعددة المتغيرات بدقة فائقة، مما يجعل دونيت الخيار الأرقى منهجياً.

2.3 معايير اختيار اختبار دونيت في البحوث النفسية والتجريبية
يتطلب اتخاذ القرار المنهجي باعتماد اختبار دونيت كأداة للتحليل البعدي توافر مجموعة من المعايير التصميمية والمنطقية المحددة في بروتوكول البحث التجريبي، والتي تشمل:
- وجود مجموعة مرجعية صريحة: أن يشتمل التصميم التجريبي على مجموعة تمثل الوضع الراهن، أو خط الأساس الزمني (Baseline)، أو العلاج الوهمي غير الفعال (Placebo)، أو المعيار الإكلينيكي التقليدي المعتمد.
- طبيعة الأسئلة البحثية الموجهة: أن تنصب الأهداف على إثبات ما إذا كان أي من العلاجات أو التقنيات الجديدة يتفوق على الوضع المرجعي، دون وجود اهتمام نظري أو تطبيقي أولي بالمفاضلة البينية بين العلاجات الجديدة ذاتها في هذه المرحلة الاستكشافية.
- استقلالية المجموعات: أن تُطبق المعالجات على عينات مستقلة تماماً تم تعيين أفرادها عشوائياً (Random Assignment)، وهو التصميم الكلاسيكي الشائع في تجارب علم النفس السريري، والطب السلوكي، وتجارب التعلم التربوي.
إذا تحققت هذه الشروط، يمثل اختبار دونيت النموذج المعياري الذهبي الذي يجمع بين الدقة الاستدلالية، والضبط المحكم للخطأ، والقوة الإحصائية المعظمة، مما يجعله الخيار المفضل في التقارير المنشورة في المجلات العلمية المحكمة عالمياً.
3. الافتراضات الإحصائية لاختبار دونيت والتحقق منها في R
3.1 افتراض التوزيع الطبيعي للمتغير التابع (Normality)
ينتمي اختبار دونيت إلى عائلة الاختبارات المعلمية (Parametric Tests) المشتقة من النماذج الخطية العامة؛ ولذلك فهو يشترط أن تكون درجات المتغير التابع، أو بتعبير أكثر دقة، بواقي النموذج الإحصائي (Model Residuals)، متوزعة توزعاً طبيعياً داخل كل مجتمع من المجتمعات الخاضعة للدراسة. يؤدي الانحراف الشديد عن التوزيع الطبيعي، لا سيما في حالات الالتواء الحاد (Skewness) أو التفرطح العالي (Kurtosis)، إلى تشويه دقة قيم الدلالة الاحتمالية ($p$-values) المحسوبة.
في بيئة لغة R، يتم التحقق من هذا الافتراض من خلال مزيج من الاختبارات الاستدلالية الصارمة والفحص البصري التوضيحي. يُطبق اختبار شابيرو-ويلك (Shapiro-Wilk Test) باستخدام الدالة shapiro.test() على بواقي النموذج الخطي. وتكون الفرضية الصفرية للاختبار هي أن البيانات تتبع التوزيع الطبيعي، وبالتالي فإن الحصول على قيمة $p > 0.05$ يشير إلى عدم وجود دليل كافٍ على خرق هذا الافتراض.
وبالتوازي مع ذلك، يُنصح دائماً بفحص مخططات القيم المئوية الطبيعية (Quantile-Quantile Plots أو Q-Q Plots) عبر دالتي qqnorm() و qqline() في حزمة R الأساسية، أو باستخدام أدوات متقدمة في حزمة ggplot2. يُظهر الرسم البياني مدى تطابق نقاط البيانات المرصودة مع الخط النظري للتوزيع الطبيعي. ويتميز اختبار دونيت بدرجة مقبولة من المتانة (Robustness) ضد الانحرافات البسيطة والمعتدلة عن التوزيع الطبيعي، خاصة عندما تكون أحجام العينات معقولة ($n ge 20$ لكل مجموعة) استناداً إلى نظرية النهاية المركزية (Central Limit Theorem).
3.2 افتراض تجانس التباين (Homogeneity of Variance)
يتمثل الافتراض الحاسم الثاني لاختبار دونيت القياسي في تجانس التباين عبر المجموعات المختلفة (Homoscedasticity)، وهو ما يعني أن تباين الخطأ في المجتمعات الأصلية متساوٍ ($\sigma_1^2 = \sigma_2^2 = dots = \sigma_k^2 = \sigma_0^2$). يُعد هذا الافتراض جوهرياً نظراً لأن الاختبار يستخدم متوسط مربعات الخطأ المشترك ($MSE$) المستخرج من نموذج تحليل التباين الكلي لتقدير الانحراف المعياري لجميع المقارنات.
للتحقق البرمجي من تجانس التباين في R، يُستخدم اختبار ليفين (Levene’s Test) المتاح عبر دالة leveneTest() في حزمة car، والذي يتميز بمتانته ضد عدم اعتدالية البيانات، أو اختبار بارتليت (Bartlett’s Test) المتاح عبر دالة bartlett.test() إذا تأكدت طبيعية التوزيع مسبقاً. إذا أسفر الاختبار عن قيمة دلالة أقل من 0.05، يتم رفض فرضية تجانس التباين.
إن خرق افتراض تجانس التباين، وخاصة عندما تترافق مع عدم تساوي أحجام العينات بين المجموعات، يؤدي إلى تضخم كبير في معدل الخطأ من النوع الأول أو فقدان شديد للقوة الإحصائية. في مثل هذه الحالات المعقدة، يوفر R بدائل متطورة، مثل اختبار دونيت المعدل لعدم تجانس التباين (Welch-Dunnett Heteroscedastic Test) والذي يمكن تنفيذه باستخدام حزم متخصصة تعتمد على تعديلات ساترثويت لدرجات الحرية وتعيين أخطاء معيارية غير متجانسة كروياً (Heteroscedastic Standard Errors).
3.3 افتراض استقلالية الملاحظات ومستوى القياس
يقوم اختبار دونيت على افتراض بنيوي يتمثل في استقلالية المشاهدات (Independence of Observations)، مما يعني أن قياس أو استجابة أي فرد في العينة لا يؤثر ولا يتأثر باستجابات الأفراد الآخرين، سواء داخل نفس المجموعة أو بين المجموعات المختلفة. يتم ضمان هذا الافتراض من خلال التصميم التجريبي الرصين، وإجراءات التعشية الصارمة (Randomization)، وتفادي القياسات التراكمية أو التأثيرات البيئية المشتركة غير المضبوطة.
علاوة على ذلك، يشترط الاختبار أن يكون المتغير التابع مقاساً على مقياس كمي مستمر (مقياس فترة Interval أو نسبة Ratio)، في حين يكون المتغير المستقل متغيراً فئوياً اسمياً (Categorical/Nominal Factor) يحدد تصنيف المجموعات المعالجة والمجموعة الضابطة.
إذا كانت البيانات تتضمن قياسات مكررة لنفس الأفراد عبر الزمن (Repeated Measures) أو ملاحظات متداخلة داخل مجموعات هرمية (Nested/Clustered Data)، فإن الصيغة الكلاسيكية لاختبار دونيت تصبح غير صالحة إحصائياً، ويتحتم حينها الانتقال إلى النماذج الخطية ذات التأثيرات المختلطة (Linear Mixed-Effects Models) المتبوعة بمقارنات دونيت المصححة عبر حزمة emmeans.
4. إعداد بيئة العمل وتثبيت الحزم البرمجية في لغة R
4.1 تثبيت واستدعاء حزمة multcomp
تُعد حزمة multcomp (Simultaneous Inference in General Parametric Models) الحزمة المرجعية والمعيارية الأولى في لغة R لإجراء الفرضيات الخطية العامة والمقارنات المتعددة المتزامنة، بما في ذلك اختبار دونيت. صُممت الحزمة بواسطة كبار علماء الإحصاء الحسابي، وتتميز بتطبيقها الدقيق للتوزيعات متعددة المتغيرات وخوارزميات التكامل العددي المتقدمة لحساب قيم الدلالة وفترات الثقة بدقة فائقة.
لتثبيت الحزمة واستدعائها في جلسة العمل، يتم تنفيذ الأوامر البرمجية التالية:
يتم تثبيت الحزمة عبر الأمر القياسي: install.packages("multcomp")، ثم يتم استدعاؤها في بيئة العمل باستخدام الأمر: library(multcomp). تتيح هذه الحزمة الدالة الجوهرية glht() (General Linear Hypotheses Test) التي تمثل النواة الصلبة لإجراء مقارنات دونيت وتوكي وغيرها من التوليفات الخطية المعقدة المستندة إلى كائنات النماذج الخطية في R.
4.2 استكشاف الحزم الإحصائية المساعدة (DescTools و emmeans)
إلى جانب الحزمة المعيارية multcomp، تزخر بيئة R بحزم مساعدة تقدم وظائف مكملة شديدة الأهمية والفاعلية. تبرز حزمة DescTools كأداة شاملة للإحصاء الوصفي والاستدلالي السريع؛ حيث تحتوي على دالة مباشرة ومستقلة تماماً تحمل الاسم DunnettTest()، وهي مصممة لتنفيذ الاختبار بسطر واحد ودون الحاجة إلى بناء نموذج تحليلي مسبق، مما يجعلها مثالية للتحليلات السريعة والتعليمية.
من جانب آخر، تُعد حزمة emmeans (Estimated Marginal Means) الحزمة الأحدث والأكثر مرونة في التحليلات المتقدمة. توفر الحزمة قدرات فائقة لحساب المتوسطات الهامشية المقدرة وإجراء مقارنات دونيت عبر الدالة contrast()، مع إمكانية فريدة للتعامل مع النماذج المعقدة التي تحتوي على متغيرات مرافقة (ANCOVA) أو تفاعلات متعددة العوامل.
كما تُعد حزم بيئة tidyverse، وخاصة dplyr لتنظيم وتحويل البيانات وggplot2 لتصميم الرسوم البيانية الاستكشافية والنهائية، عناصر لا غنى عنها في بيئة العمل المتكاملة لضمان سلاسة سير التحليل وقابلية إعادة الإنتاج المنهجي.
4.3 ضبط خيارات الجلسة وتحديد بذور العشوائية (Reproducibility)
تعتمد بعض خوارزميات حساب قيم $p$ الدقيقة في مصفوفات التوزيع المتعدد المتغيرات، وكذلك عمليات توليد البيانات الوهمية للمحاكاة، على خوارزميات التوليد شبه العشوائي للأرقام. لضمان قابلية إعادة الإنتاج الكاملة للنتائج ومطابقتها التامة عند إعادة تشغيل الكود في أوقات لاحقة أو على أجهزة أخرى، يجب ضبط بذرة العشوائية في مستهل النص البرمجي باستخدام الدالة set.seed().
يُنصح دائماً في مستهل نصوص التحليل في R بالتحقق من لغة وبيئة النظام وإصدار لغة R المستخدم عبر الأمر sessionInfo()، وضبط خيارات عرض الأرقام العشرية عبر options(digits = 5, scipen = 999) لتسهيل قراءة النتائج الإحصائية وتفادي ظهور الرموز العلمية الأسية المعقدة في مخرجات التحليل.
5. بناء وهيكلة البيانات التجريبية في R
5.1 إنشاء إطار بيانات تجريبي (Data Frame) للدراسة
لتوضيح التطبيق العملي لاختبار دونيت في سياق واقعي، سنقوم ببناء سيناريو تجريبي في علم النفس السريري والتربوي. نفترض أن الدراسة تهدف إلى اختبار فاعلية ثلاث تقنيات علاجية وسلوكية جديدة لتقليل درجات القلق الأكاديمي لدى طلبة الجامعات، مقارنة بمجموعة ضابطة تلقت جلسات إرشادية عامة تقليدية (بدون معالجة مستهدفة).
تتكون التجربة من أربع مجموعات مستقلة: المجموعة الضابطة (Control)، ومجموعة العلاج السلوكي المعرفي (CBT)، ومجموعة التأمل واليقظة الذهنية (Mindfulness)، ومجموعة التغذية الراجعة العصبية الحيوية (Biofeedback). يحتوي التصميم على 15 مشاركاً في كل مجموعة تجريبية، بينما تضم المجموعة الضابطة 20 مشاركاً، ليكون إجمالي حجم العينة $N = 65$ مشاركاً.
نقوم بإنشاء إطار البيانات (Data Frame) في لغة R من خلال كتابة الشيفرة البرمجية التالية:
يتم ضبط البذرة العشوائية وتوليد البيانات عبر الكود البرمجي الآتي:
set.seed(42)- توليد المتغير الفئوي للمجموعات:
groups <- factor(c(rep("Control", 20), rep("CBT", 15), rep("Mindfulness", 15), rep("Biofeedback", 15))) - توليد درجات القلق (المتغير التابع) بقيم متوسطة وافتراضية تمثل تأثيرات العلاجات المختلفة:
anxiety_scores <- c(rnorm(20, mean = 68, sd = 6), rnorm(15, mean = 56, sd = 5.5), rnorm(15, mean = 60, sd = 5.8), rnorm(15, mean = 64, sd = 6.2)) - تجميع المتغيرات داخل إطار بيانات:
study_data <- data.frame(Group = groups, AnxietyScore = anxiety_scores)
5.2 تحويل المتغير المستقل إلى عامل (Factor) وتحديد المجموعة الضابطة
تتطلب خوارزميات المقارنات المتعددة في لغة R، وتحديداً داخل حزمة multcomp، أن يكون المتغير المستقل مُعرفاً بشكل صريح كمتغير فئوي من نوع عامل (Factor). يتعامل R افتراضياً مع مستويات العامل بناءً على الترتيب الأبجدي اللاتيني لأسمائها ما لم يقم الباحث بتحديد ترتيب المستويات أو تحديد المستوى المرجعي بدقة.
إذا لم تكن المجموعة الضابطة هي المستوى الأول في الترتيب الأبجدي، فقد يقوم البرنامج باختيار مجموعة تجريبية كمرجع افتراضي للمقارنة، وهو ما يغير جوهر الفرضيات بالكامل. لتفادي هذا الخطأ الشائع، تُستخدم دالة relevel() لتحديد المجموعة الضابطة صراحة كمرجع أساسي (Baseline Reference Level):
study_data$Group <- relevel(as.factor(study_data$Group), ref = "Control")
بموجب هذا الأمر، يضمن الباحث أن جميع المقارنات اللاحقة المصاغة في اختبار دونيت ستُقارن مستويات العلاجات (“CBT”، “Mindfulness”، “Biofeedback”) بالمستوى الأساسي المرجعي المختار (“Control”).
5.3 فحص بنية البيانات ومراجعة الإحصاءات الوصفية
قبل الشروع في تطبيق النماذج الاستدلالية، يجب فحص بنية إطار البيانات ومراجعة المؤشرات الوصفية المركزية ومقاييس التشتت لكل مجموعة على حدة. يمكن التحقق من التركيب الهيكلي للبيانات عبر استدعاء دالتي str(study_data) و head(study_data).
لحساب المتوسطات والانحرافات المعيارية والأخطاء المعيارية لكل مجموعة بدقة وكفاءة، يُفضل استخدام حزمة dplyr ضمن بيئة tidyverse عبر الكود التالي:
library(dplyr)
descriptive_stats <- study_data %>%
group_by(Group) %>%
summarise(
N = n(),
Mean = mean(AnxietyScore),
SD = sd(AnxietyScore),
SE = sd(AnxietyScore) / sqrt(n())
)
print(descriptive_stats)
يوفر هذا الجدول الوصفي رؤية أولية شديدة الوضوح لتباين درجات القلق الأكاديمي بين المجموعات؛ حيث يُلاحظ انخفاض متوسط القلق في مجموعة العلاج السلوكي المعرفي (CBT) ومجموعة اليقظة الذهنية (Mindfulness) مقارنة بمتوسط المجموعة الضابطة، مما يمهد الطريق لفحص ما إذا كانت هذه الفروق الظاهرية ذات دلالة إحصائية حقيقية.
6. التحليل الاستكشافي للبيانات وتصور المتوسطات قبل الاختبار
6.1 رسم المخططات الصندوقية (Boxplots) للمجموعات
يُعد التحليل البصري الاستكشافي خطوة تمهيدية أساسية تسبق التحليلات البعدية؛ إذ يساعد الباحث في تقييم تماثل البيانات، واكتشاف القيم المتطرفة والشاذة (Outliers) التي قد تشوه تقدير متوسط مربعات الخطأ ($MSE$)، والتحقق المبدئي من تجانس التشتت بين المجموعات.
تُعد المخططات الصندوقية المعززة بنقاط التشتت الفردية (Jittered Points) من أفضل الأساليب لعرض توزيعات المجموعات التجريبية. يمكن تنفيذ هذا المخطط باستخدام حزمة ggplot2 عبر الكود الآتي:
library(ggplot2)
ggplot(study_data, aes(x = Group, y = AnxietyScore, fill = Group)) +
geom_boxplot(alpha = 0.6, outlier.shape = NA, width = 0.5) +
geom_jitter(width = 0.15, size = 2, alpha = 0.7, color = "black") +
theme_classic() +
labs(
title = "توزيع درجات القلق الأكاديمي عبر المجموعات التجريبية والضابطة",
x = "المجموعة التجريبية",
y = "درجة القلق الأكاديمي"
) +
theme(legend.position = "none", text = element_text(size = 12))
يتيح هذا الرسم للمحلل تقييم تماثل الوسيط والمجال الربيعي لكل مجموعة، والتأكد البصري من خلو البيانات من أي قيم شاذة متطرفة قد تؤثر سلباً على صحة نتائج تحليل التباين اللاحق.
6.2 رسم مخططات المتوسطات وأشرطة الخطأ (Mean Plots with Error Bars)
يقدم رسم المتوسطات الحسابية محاطة بأشرطة الخطأ المعياري (Standard Error) أو فترات الثقة 95% صورة واضحة ومباشرة للمسافات الفاصلة بين متوسطات المجموعات المعالجة والمجموعة الضابطة، مما يمنح الباحث حدساً أولياً بنتائج اختبار دونيت المرتقبة.
يمكن بناء هذا المخطط الاحترافي المتوافق مع معايير النشر العلمي عبر الشيفرة الآتية:
ggplot(descriptive_stats, aes(x = Group, y = Mean, group = 1)) +
geom_line(color = "gray50", linetype = "dashed") +
geom_point(size = 4, color = "#2C3E50") +
geom_errorbar(aes(ymin = Mean - 1.96 * SE, ymax = Mean + 1.96 * SE), width = 0.15, size = 0.8, color = "#2C3E50") +
theme_bw() +
labs(
title = "متوسطات درجات القلق مع فترات الثقة 95%",
x = "المجموعة",
y = "متوسط درجة القلق المقدرة"
) +
theme(text = element_text(size = 12), plot.title = element_text(face = "bold", hjust = 0.5))
يساعد هذا التمثيل البياني في توضيح التباعد الحقيقي بين مجموعة العلاج السلوكي المعرفي (CBT) والمجموعة الضابطة (Control)، حيث يُظهر عدم تداخل فترات الثقة دليلاً أولياً قوياً على وجود فرق دال إحصائياً لصالح هذا التدخل العلاجي.
7. إجراء تحليل التباين أحادي الاتجاه (One-Way ANOVA) كخطوة تمهيدية
7.1 بناء النموذج الخطي وتطبيق دالة aov()
يُمثل تحليل التباين أحادي الاتجاه (One-Way ANOVA) الإطار النمذجي الشامل الذي يشتق منه اختبار دونيت تقديرات التباين المشترك للخطأ ودرجات الحرية للمتبقيات. نقوم ببناء النموذج الخطي التوافقي في لغة R وتخزينه ككائن تحليلي باستخدام الدالة الأساسية aov() أو lm() وفق الصيغة الإحصائية التالية:
anova_model <- aov(AnxietyScore ~ Group, data = study_data)
anova_summary <- summary(anova_model)
print(anova_summary)
عند فحص جدول مخرجات تحليل التباين، يركز الباحث على العناصر الإحصائية الرئيسية التالية:
- مجموع المربعات (Sum of Squares): المقسم بين تباين المجموعات ($SS_{Between}$) وتباين الخطأ داخل المجموعات ($SS_{Within}$).
- درجات الحرية (Degrees of Freedom – Df): وتساوي $k-1 = 3$ للمجموعات، و$N-k = 65-4 = 61$ للمتبقيات والخطأ العشوائي.
- متوسط مربعات الخطأ (Mean Sq Residuals – MSE): وهو المقياس الأساسي المستخدم في اختبار دونيت لتقدير الانحراف المعياري المجمع للخطأ.
- إحصاء $F$ المحسوب ومستوى الدلالة ($p$-value): يختبر الفرضية الصفرية الكلية القائلة بأن جميع متوسطات المجموعات متساوية في المجتمع ($\mu_1 = \mu_2 = \mu_3 = \mu_0$).
7.2 العلاقة المنطقية بين نتيجة ANOVA واختبار دونيت
يطرح العديد من الباحثين تساؤلاً منهجياً جوهرياً: هل يشترط الحصول على دلالة إحصائية عامة في اختبار $F$ لنموذج تحليل التباين ($p < 0.05$) قبل الشروع في إجراء اختبار دونيت؟
تُميز المدارس الإحصائية الحديثة بدقة بين نوعين من المقارنات المتعددة:
- المقارنات الاستكشافية البعدية البحتة (Data-Driven Post-Hoc Comparisons): حيث لا يمتلك الباحث فرضيات مسبقة ويسعى لاستكشاف أي فروق محتملة في البيانات. هنا يُشترط تقليدياً دلالة اختبار $F$ الشامل لتفادي تضخم الأخطاء الإجمالية وفق مبدأ فيشر المحمي (Fisher’s Protected LSD).
- المقارنات الموجهة والمخططة مسبقاً (Planned / A Priori Contrasts): حيث يتم تحديد مقارنة المجموعات المعالجة بالمجموعة الضابطة بناءً على الأساس النظري وفرضيات البحث قبل جمع البيانات وتفريغها. في هذا السياق المنهجي الراسخ، يمتلك اختبار دونيت آليته المستقلة والكاملة لضبط معدل الخطأ العائلي ($FWER$).
وعليه، تؤكد الأدبيات الإحصائية المتقدمة (مثل توصيات تشارلز دونيت وبيتر ويستفال) أن اختبار دونيت المخطط مسبقاً يمكن تنفيذه وتفسيره بشكل مشروع تماماً حتى في الحالات النادرة التي قد يقترب فيها اختبار $F$ العام من حافة الدلالة، لأن اختبار دونيت أكثر تركيزاً وقوة في توجيه التباين نحو فرضيات المقارنة مع الضابطة فقط.
8. تنفيذ اختبار دونيت في R باستخدام حزمة multcomp
8.1 استخدام دالة glht() لصياغة فرضيات المقارنة مع الضابطة
تُعد دالة glht() (General Linear Hypotheses Test) في حزمة multcomp الأداة البرمجية الأكثر تطوراً ورصانة لتنفيذ اختبار دونيت في لغة R. تأخذ الدالة كائن النموذج الخطي الذي تم بناؤه سابقاً (كائن aov() أو lm())، وتطبق عليه دالة المقارنات المتعددة mcp() مع تحديد نوع المقارنة بدقة كمعامل نصي "Dunnett".
يتم تنفيذ الاختبار من خلال الأوامر التالية:
library(multcomp)
dunnett_glht <- glht(anova_model, linfct = mcp(Group = "Dunnett"))
تقوم دالة mcp(Group = "Dunnett") آلياً ببناء مصفوفة التوليفات الخطية التي تطرح متوسط المستوى المرجعي (المجموعة الضابطة التي تم ضبطها عبر relevel) من كل مستوى من مستويات المعالجة الأخرى. يتم تخزين النتائج في الكائن dunnett_glht، والذي يحتوي على جميع المتجهات الإحصائية، وتقديرات التباين والتغاير، ومعاملات الارتباط الداخلي اللازمة لحساب الاستدلالات المتزامنة.
8.2 استعراض وتفسير مخرجات دالة summary(glht)
لاستخراج النتائج الإحصائية التفصيلية لاختبار دونيت وقيم الدلالة المعدلة، يتم استدعاء دالة summary() على الكائن المولد:
dunnett_summary <- summary(dunnett_glht)
print(dunnett_summary)
يقدم تقرير المخرجات جدولاً تفصيلياً يحتوي على أعمدة متكاملة لكل مقارنة ثنائية مع المجموعة الضابطة، وتُفسر عناصره كما يلي:
- المقارنة الخطية (Linear Hypotheses): وتظهر بصيغة واضحة مثل
CBT - Control == 0،Mindfulness - Control == 0، وBiofeedback - Control == 0. - الفرق المقدر (Estimate): يمثل الفرق الحسابي الدقيق بين متوسط المجموعة التجريبية ومتوسط المجموعة الضابطة ($\bar{x}_i – \bar{x}_0$). القيمة السالبة تعني انخفاض درجة القلق في المجموعة المعالجة مقارنة بالمجموعة الضابطة.
- الخطأ المعياري (Std. Error): يُحسب بالمعادلة: $SE_{diff} = \sqrt{MSE \cdot \left(\frac{1}{n_i} + \frac{1}{n_0}\right)}$، ويعكس دقة تقدير الفرق.
- قيمة إحصاء $t$ (t value): ناتج قسمة الفرق المقدر على الخطأ المعياري ($t = \frac{\text{Estimate}}{SE}$).
- قيمة $p$ المعدلة المتزامنة ($Pr(>|t|)$): وهي قيمة الدلالة المحسوبة استناداً إلى التكامل الرقمي لتوزيع دونيت متعدّد المتغيرات، وتتيح للباحث اتخاذ القرار الإحصائي برفض الفرضية الصفرية إذا كانت القيمة أقل من 0.05 دون الحاجة لأي تصحيح إضافي.
8.3 حساب فترات الثقة المتزامنة (Simultaneous Confidence Intervals)
يُعد تقديم فترات الثقة (Confidence Intervals) متطلباً منهجياً حاسماً في الإحصاء الحديث، حيث توفر معلومات حول دقة التقدير والأهمية السريرية لحجم التأثير، متجاوزة الاختزال الثنائي لقيم $p$. في المقارنات المتعددة، يجب حساب فترات الثقة المتزامنة (Simultaneous Confidence Intervals) التي تضمن تغطية جميع المعالم السكانية الحقيقية بنسبة 95% في آن واحد.
يتم استخراج فترات الثقة المتزامنة باستخدام دالة confint() المطبقة على كائن الفرضيات:
dunnett_ci <- confint(dunnett_glht, level = 0.95)
print(dunnett_ci)
تُظهر المخرجات الحد الأدنى (Lower bound) والحد الأعلى (Upper bound) لفترة الثقة لكل مقارنة. القاعدة الإحصائية الذهبية لتفسير هذه الفترات تنص على: إذا لم تشتمل فترة الثقة 95% على القيمة صفر (Zero)، فإن الفرق بين المجموعة التجريبية والمجموعة الضابطة يكون ذا دلالة إحصائية عند مستوى $\alpha = 0.05$. فإذا كانت حدود الفترة لمقارنة العلاج السلوكي المعرفي تتراوح بين $-15.4$ و $-8.6$، فهذا يثبت بدلالة إحصائية وعملية مؤكدة أن العلاج يخفض القلق بما لا يقل عن 8.6 درجات ولا يزيد عن 15.4 درجة في المجتمع الأصلي.
9. طرق وحزم بديلة لتنفيذ اختبار دونيت في R
9.1 تطبيق الاختبار عبر حزمة DescTools والدالة DunnettTest()
تقدم حزمة DescTools خياراً برمجياً غاية في البساطة والمرونة للباحثين الذين يرغبون في إجراء اختبار دونيت بسرعة فائقة وبصيغة استدعاء مباشرة تحاكي دوال الاختبارات البسيطة في R. تتيح دالة DunnettTest() تمرير المتغير التابع والمستقل مباشرة، مع إمكانية تحديد اسم المجموعة الضابطة صراحة عبر المعامل control دون الحاجة لإعادة ترتيب مستويات العامل مسبقاً.
يتم تنفيذ الاختبار باستخدام حزمة DescTools وفق الكود الآتي:
library(DescTools)
dunnett_desctools <- DunnettTest(x = study_data$AnxietyScore, g = study_data$Group, control = "Control")
print(dunnett_desctools)
تتميز مخرجات دالة DunnettTest() بوضوحها الشديد، حيث تعرض جدولاً متكاملاً يتضمن الفروق بين المتوسطات، والحدود الدنيا والعليا لفترات الثقة، وقيم $p$ المعدلة في صيغة جدولية سهلة القراءة ومباشرة، مما يجعلها خياراً ممتازاً في ورش العمل التدريبية والتحليلات الاستطلاعية السريعة.
9.2 إجراء مقارنات دونيت باستخدام حزمة emmeans
تُمثل حزمة emmeans الجيل الأحدث والأقوى في أدوات النمذجة الإحصائية المتقدمة في بيئة R. تكمن القوة الاستثنائية لحزمة emmeans في أنها لا تفترض تساوي الأوزان البسيطة في النماذج المعقدة، بل تقوم بحساب المتوسطات الهامشية المقدرة (Estimated Marginal Means) بناءً على معاملات الانحدار الثابتة للنموذج، مما يجعلها الأداة الوحيدة القادرة على إجراء مقارنات دونيت الدقيقة في نماذج تحليل التغاير (ANCOVA)، والتصاميم العاملية متعددة العوامل، والنماذج الخطية المختلطة (Mixed-Effects Models).
يتم تطبيق اختبار دونيت عبر emmeans بخطوتين منهجيتين كما يلي:
library(emmeans)
# الخطوة الأولى: حساب المتوسطات الهامشية المقدرة
emm_group <- emmeans(anova_model, ~ Group)
# الخطوة الثانية: إجراء مقارنات دونيت المرجعية
dunnett_emmeans <- contrast(emm_group, method = "dunnett", ref = "Control")
print(dunnett_emmeans)
# استخراج فترات الثقة المتزامنة
confint(dunnett_emmeans)
تتيح حزمة emmeans أيضاً التحكم الكامل في درجات حرية التقريب (مثل تعديل كينوارد-روجر Kenward-Roger في النماذج المختلطة)، وتقدم تقارير غاية في المرونة والتوافق مع متطلبات النماذج الإحصائية المعقدة.
9.3 المقارنة الفنية بين الحزم البرمجية المختلفة في R
لتسهيل الاختيار المنهجي والبرمجي على الباحثين، يقدم الجدول المقارن التالي تقييماً فنياً شاملاً للحزم الثلاث الرئيسية المتاحة لتنفيذ اختبار دونيت في لغة R:
| وجه المقارنة | حزمة multcomp (دالة glht) | حزمة DescTools (دالة DunnettTest) | حزمة emmeans (دالة contrast) |
|---|---|---|---|
| النمط البرمجي | معياري متقدم (مبني على النماذج الخطية) | بسيط ومباشر (تحليل سريع للأعمدة) | مرن ومتطور للغاية (مبني على المتوسطات الهامشية) |
| خوارزمية حساب p-value | توزيع دونيت المتعدد الدقيق (تكامل عددي) | توزيع دونيت التقريبي والدقيق | توزيع دونيت وتوزيعات t المتعددة المعدلة |
| دعم النماذج المعقدة | يدعم نماذج ANOVA و GLM البسيطة | يقتصر على ANOVA أحادي الاتجاه المستقل | يدعم ANOVA، ANCOVA، والنماذج المختلطة Mixed Models |
| سهولة الاستخدام | متوسطة (تتطلب ضبط المرجع والنمذجة) | سهلة للغاية ومناسبة للمبتدئين | متوسطة إلى متقدمة مع إمكانيات تخصيص لا محدودة |
| التوافق مع APA والنشر | ممتاز ومعتمد في كبرى الدوريات | جيد للتحليلات الداخلية والتقارير الأولية | الخيار الأول الموصى به في الأبحاث الحديثة المعقدة |
يوصى باعتماد حزمة multcomp للتجارب القياسية البسيطة أحادية الاتجاه لكونها الأكثر رسوخاً، في حين تُعد emmeans الخيار الإجباري عند احتواء التصميم على متغيرات مرافقة أو قياسات مكررة.
10. تصور نتائج اختبار دونيت بيانياً في R
10.1 رسم فترات الثقة باستخدام دالة plot() الافتراضية
توفر حزمة multcomp طريقة سريعة ومباشرة للمعاينة البصرية الفورية لنتائج اختبار دونيت وفترات الثقة المتزامنة الخاصة به، وذلك من خلال تطبيق دالة الرسم العامة plot() مباشرة على كائن فترات الثقة المستخرج من confint(glht).
يمكن توليد هذا الرسم الاستكشافي السريع عبر السطر البرمجي التالي:
plot(dunnett_ci, main = "فترات الثقة المتزامنة 95% لمقارنات دونيت مع المجموعة الضابطة", xlab = "الفرق في متوسط درجات القلق")
يقوم هذا المخطط برسم خط أفقي يمثل فترة الثقة 95% لكل مقارنة علاجية مع نقطة مركزية تمثل الفرق المقدر. كما يُرسم خط رأسي متقطع أحمر عند القيمة صفر ($x = 0$)؛ فإذا قطعت فترة الثقة هذا الخط المرجعي، دل ذلك بيانياً على أن الفرق غير دال إحصائياً، بينما تشير الفترات التي تقع بالكامل على يمين أو يسار خط الصفر إلى وجود أثر علاجي دال إحصائياً.
10.2 إنشاء مخططات احترافية لفترات الثقة باستخدام ggplot2
لأغراض النشر الأكاديمي في الدوريات المصنفة عالمياً، يفضل الباحثون تصميم رسوم بيانية عالية الدقة وقابلة للتخصيص الكامل باستخدام حزمة ggplot2. لتحقيق ذلك، نقوم أولاً باستخراج مصفوفة فترات الثقة من كائن multcomp وتحويلها إلى إطار بيانات منتظم (Data Frame)، ثم رسمها بدقة متناهية.
يتم بناء المخطط الاحترافي عبر الكود التالي:
# استخراج بيانات فترات الثقة
ci_data <- as.data.frame(dunnett_ci$confint)
ci_data$Comparison <- rownames(ci_data)
# رسم المخطط المتقدم
ggplot(ci_data, aes(x = Estimate, y = reorder(Comparison, Estimate))) +
geom_vline(xintercept = 0, linetype = "dashed", color = "#E74C3C", size = 1) +
geom_errorbarh(aes(xmin = lwr, xmax = upr), height = 0.2, color = "#2980B9", size = 1.2) +
geom_point(size = 4, color = "#2C3E50") +
theme_classic() +
labs(
title = "تقديرات الفروق وفترات الثقة 95% لاختبار دونيت",
subtitle = "مقارنة المجموعات العلاجية بالمجموعة الضابطة (Control)",
x = "الفرق المقدر في متوسط القلق (مع فترات الثقة المتزامنة)",
y = "المقارنة التجريبية"
) +
theme(
plot.title = element_text(face = "bold", size = 14, hjust = 0.5),
plot.subtitle = element_text(size = 11, hjust = 0.5),
axis.text = element_text(size = 11, color = "black"),
axis.title = element_text(face = "bold", size = 12)
)
يبرز هذا المخطط المتقدم الفروق بوضوح تام؛ حيث يتضح انزياح مقارنة (CBT – Control) ومقارنة (Mindfulness – Control) بالكامل في الجانب السالب بعيداً عن الصفر، مما يوثق بصرياً تفوق هذه التدخلات في خفض مستويات القلق.
10.3 إضافة نجوم الدلالة الإحصائية إلى المخططات البيانية
يُعد وضع أقواس المقارنة ونجوم الدلالة الإحصائية ($* p < .05$, $** p < .01$, $*** p < .001$) فوق أعمدة المجموعات التجريبية الأسلوب الأكثر شيوعاً وقبولاً في مجلات علم النفس والطب السلوكي لعرض المقارنات البعدية مع المجموعة الضابطة.
يمكن تحقيق ذلك باحترافية وسلاسة داخل بيئة R باستخدام حزمة ggpubr أو حزمة ggsignif المرتبطة بـ ggplot2 عبر الكود التالي:
library(ggpubr)
# تعريف قائمة المقارنات المحددة مع المجموعة الضابطة
my_comparisons <- list(c("Control", "CBT"), c("Control", "Mindfulness"), c("Control", "Biofeedback"))
# بناء مخطط الأعمدة مع مؤشرات الدلالة
ggbarplot(study_data, x = "Group", y = "AnxietyScore", add = "mean_se",
fill = "Group", palette = "jco", width = 0.55) +
stat_compare_means(comparisons = my_comparisons, method = "t.test", p.adjust.method = "dunnett",
label = "p.signif", tip_length = 0.02) +
labs(
title = "مقارنة متوسطات القلق الأكاديمي ومستويات الدلالة مقابل المجموعة الضابطة",
x = "المجموعة التجريبية",
y = "متوسط درجة القلق (± الخطأ المعياري)"
) +
theme_classic() +
theme(legend.position = "none", plot.title = element_text(face = "bold", hjust = 0.5))
لتصدير هذه الرسوم بدقة طباعية فائقة (300 إلى 600 DPI) تتطابق مع معايير دور النشر العالمية (مثل Elsevier و Springer و APA)، يتم استخدام دالة ggsave() بتحديد الأبعاد ونوع الملف:
ggsave("dunnett_results_plot.png", width = 8, height = 6, dpi = 300)
11. صياغة وتوثيق نتائج اختبار دونيت وفق دليل APA للبحث العلمي
11.1 قواعد كتابة النتائج الإحصائية في متن البحث
يفرض دليل النشر العلمي الصادر عن جمعية علم النفس الأمريكية (APA Publication Manual – 7th Edition) قواعد دقيقة لتوثيق التحليلات الاستدلالية والمقارنات المتعددة في متن فصول النتائج. يجب أن يلتزم التقرير بالمعايير الصارمة الآتية:
- توثيق اختبار تحليل التباين الكلي أولاً: يجب كتابة الرمز الإحصائي مائلاً ($F$)، متبوعاً بدرجات حرية التأثير ودرجات حرية الخطأ بين قوسين، ثم القيمة المحسوبة لاختبار $F$، ومستوى الدلالة الدقيق، وحجم التأثير (مثل إيتا المربعة الجزئية $\eta_p^2$ أو أوميغا المربعة $\omega^2$). مثال: $F(3, 61) = 14.82, p < .001, \eta_p^2 = .42$.
- تحديد نوع الاختبار البعدي وطريقة ضبط الخطأ: يجب الإشارة صراحة إلى استخدام اختبار دونيت (Dunnett’s test) مع ذكر المجموعة المرجعية الضابطة.
- توثيق معالم المقارنات الفردية: لكل مقارنة، يجب تقديم المتوسطات الحسابية والانحرافات المعيارية لكلتا المجموعتين ($M, SD$)، متبوعة بالفرق المقدر، والخطأ المعياري ($SE$)، وفترة الثقة 95% المتزامنة [$95% \text{ CI}$]، وقيمة إحصاء الاختبار $t$ ودرجات الحرية المقابلة، وقيمة $p$ المعدلة المصححة ($p_{adj}$).
- تنسيق الأرقام: تُكتب القيم الاحتمالية دون الصفر الأولي قبل الفاصلة العشرية إذا كانت لا يمكن أن تتجاوز الواحد (مثل: $p = .003$ وليس $p = 0.003$). وفي حال كانت القيمة متناهية الصغر، تُكتب بصيغة $p < .001$.
11.2 تصميم جدول إحصائي شامل لعرض نتائج المقارنات
يُعد إدراج جدول إحصائي منظم وفق معايير APA أفضل طريقة لعرض المقارنات المتعددة دون إثقال متن النص بالأرقام المكررة. يجب أن يتضمن الجدول الخطوط الأفقية فقط عند رأس الجدول وأسفله وفواصل الأقسام الرئيسية مع تجنب الخطوط الرأسية تماماً.
| المجموعة التجريبية | $N$ | $M$ | $SD$ | الفرق المقدر ($\bar{x}_i – \bar{x}_0$) | $SE$ | $95% \text{ CI}$ | $t(61)$ | $p_{adj}$ |
|---|---|---|---|---|---|---|---|---|
| المجموعة الضابطة (Control)a | 20 | 67.85 | 5.82 | — | — | — | — | — |
| العلاج السلوكي المعرفي (CBT) | 15 | 55.90 | 5.41 | -11.95 | 1.96 | [-17.15, -6.75] | -6.10 | < .001*** |
| اليقظة الذهنية (Mindfulness) | 15 | 60.12 | 5.73 | -7.73 | 1.96 | [-12.93, -2.53] | -3.94 | .001** |
| التغذية الحيوية (Biofeedback) | 15 | 64.30 | 6.11 | -3.55 | 1.96 | [-8.75, 1.65] | -1.81 | .215 |
ملاحظة: $N$ = حجم العينة؛ $M$ = المتوسط الحسابي؛ $SD$ = الانحراف المعياري؛ $SE$ = الخطأ المعياري للفرق؛ $CI$ = فترة الثقة المتزامنة لمقارنات دونيت. a تشير إلى المجموعة المرجعية الضابطة. مستويات الدلالة الإحصائية: ** $p < .01$، *** $p < .001$.
11.3 نموذج تطبيقي لكتابة تقرير بحثي كامل لنتائج دراسة نفسية
فيما يلي صياغة أكاديمية نموذجية متكاملة لتقرير النتائج باللغتين العربية والإنجليزية تصلح للاستخدام المباشر في الرسائل العلمية والأوراق البحثية المحكمة:
الصياغة باللغة العربية:
“أُجري تحليل التباين أحادي الاتجاه (One-Way ANOVA) لفحص فاعلية البرامج العلاجية المختلفة في خفض درجات القلق الأكاديمي لدى الطلبة. كشفت النتائج عن وجود فروق دالة إحصائياً بين المجموعات التجريبية والضابطة، $F(3, 61) = 14.82, p < .001, \eta_p^2 = .42$. وبناءً على ذلك، أُجريت مقارنات دونيت البعدية المتزامنة (Dunnett’s Post-Hoc Test) لمقارنة كل برنامج علاجي بالمجموعة الضابطة المرجعية ($M = 67.85, SD = 5.82$). أظهرت النتائج أن برنامج العلاج السلوكي المعرفي (CBT) حقق انخفاضاً جوهرياً ودالاً إحصائياً في درجات القلق ($M = 55.90, SD = 5.41$) مقارنة بالمجموعة الضابطة، بفرق مقدر قدره $-11.95$ درجة، $SE = 1.96, 95% \text{ CI } [-17.15, -6.75], t(61) = -6.10, p_{adj} < .001$. كما أسفر برنامج اليقظة الذهنية (Mindfulness) عن انخفاض دال إحصائياً في مستوى القلق ($M = 60.12, SD = 5.73$) بفرق مقدر قدره $-7.73$ درجة، $SE = 1.96, 95% \text{ CI } [-12.93, -2.53], t(61) = -3.94, p_{adj} = .001$. في المقابل، لم يُظهر برنامج التغذية الراجعة العصبية الحيوية (Biofeedback) فرقاً ذا دلالة إحصائية مقارنة بالمجموعة الضابطة ($M = 64.30, SD = 6.11$)، حيث كان الفرق $-3.55$، $SE = 1.96, 95% \text{ CI } [-8.75, 1.65], t(61) = -1.81, p_{adj} = .215$، نظراً لاشتمال فترة الثقة على القيمة صفر. تدل هذه النتائج الإكلينيكية على الفاعلية المتميزة لتدخلات العلاج السلوكي المعرفي واليقظة الذهنية كاستراتيجيات مستهدفة لإدارة القلق الأكاديمي."
الصياغة باللغة الإنجليزية (English Academic Reporting):
“A one-way between-subjects ANOVA was conducted to examine the effect of therapeutic interventions on academic anxiety scores. The omnibus test revealed a statistically significant difference between the groups, $F(3, 61) = 14.82, p < .001, \eta_p^2 = .42$. To test the a priori hypotheses comparing each active intervention to the control baseline ($M = 67.85, SD = 5.82$), Dunnett’s post-hoc simultaneous test was performed. Cognitive Behavioral Therapy (CBT) led to a significant reduction in anxiety ($M = 55.90, SD = 5.41$), with a mean difference of $-11.95, SE = 1.96, 95% \text{ CI } [-17.15, -6.75], t(61) = -6.10, p_{adj} < .001$. Similarly, Mindfulness practice demonstrated a significant anxiety reduction ($M = 60.12, SD = 5.73$), with a mean difference of $-7.73, SE = 1.96, 95% \text{ CI } [-12.93, -2.53], t(61) = -3.94, p_{adj} = .001$. However, the Biofeedback intervention ($M = 64.30, SD = 6.11$) did not significantly differ from the control condition, mean difference = $-3.55, SE = 1.96, 95% \text{ CI } [-8.75, 1.65], t(61) = -1.81, p_{adj} = .215$, as the 95% simultaneous confidence interval crossed zero. These findings support the superior clinical efficacy of CBT and Mindfulness over standard control conditions."
12. الأخطاء الشائعة واستراتيجيات التعامل مع التحديات المتقدمة
12.1 الأخطاء المنهجية والبرمجية الشائعة وكيفية تجنبها
يقع العديد من الباحثين في عثرات منهجية وبرمجية أثناء تطبيق اختبار دونيت في R؛ ومن أبرز هذه الأخطاء:
- إغفال ضبط المستوى المرجعي للعامل: وهو الخطأ البرمجي الأكثر شيوعاً، حيث يكتفي الباحث بتحويل المتغير إلى عامل دون استخدام دالة
relevel()، مما يدفع لغة R لاتخاذ المستوى الأول أبجدياً كمجموعة ضابطة، مما يغير فرضيات البحث بالكامل. - تطبيق دونيت في غياب مجموعة ضابطة حقيقية: استخدام اختبار دونيت عندما تكون أهداف البحث استكشافية وتتطلب مقارنة جميع المعالجات ببعضها، وهو ما يمثل خطأ منهجياً جسيماً يُهدر مقارنات أساسية بين المعالجات.
- تجاهل فحص الافتراضات الإحصائية: الشروع في تفسير قيم $p$ المعدلة دون التحقق من اعتدالية البواقي وتجانس التباين، مما قد يؤدي إلى استنتاجات كاذبة في حال وجود خروقات جذرية للافتراضات.
- الخلط بين فترات الثقة الفردية والمتزامنة: استخراج فترات الثقة الفردية (Individual CIs) من دوال اختبار $t$ البسيطة ومحاولة دمجها مع نتائج اختبار دونيت، مما يخل بمعدل التغطية الشامل المتزامن للأسرة.
12.2 التعامل مع العينات غير المتساوية (Unequal Sample Sizes)
في العديد من التجارب الميدانية والإكلينيكية، قد تختلف أحجام العينات بين المجموعات التجريبية والمجموعة الضابطة نتيجة فقدان بعض المشاركين أثناء المتابعة (Attrition) أو التخصيص غير المتساوي المتعمد في مرحلة التصميم.
تتعامل خوارزمية glht() في حزمة multcomp مع عدم تساوي العينات بكفاءة رياضية مطلقة؛ إذ تقوم بإعادة حساب مصفوفة الارتباط الداخلي $\rho_{ij}$ وتعديل الخطأ المعياري لكل مقارنة ثنائية بشكل منفصل بناءً على حجم عينة المجموعة المعنية ($n_i$) وحجم عينة المجموعة الضابطة ($n_0$).
ومن المنظور المنهجي المتقدم في تصميم التجارب، أثبتت الدراسات الرياضية لتشارلز دونيت أن الحجم الأمثل للعينة لتعظيم القوة الإحصائية الشاملة لا يتحقق عند تساوي جميع المجموعات، بل عندما تكون نسبة حجم عينة المجموعة الضابطة ($n_0$) إلى حجم عينة أي مجموعة تجريبية ($n_i$) مساوية تقريباً للجذر التربيعي لعدد المجموعات التجريبية: $\frac{n_0}{n_i} \approx \sqrt{k}$؛ حيث $k$ يمثل عدد المجموعات التجريبية المعالجة. فإذا كانت الدراسة تشتمل على 4 مجموعات تجريبية، فإن تخصيص ضعف عدد المشاركين في المجموعة الضابطة ($n_0 = 2 \cdot n_i$) يرفع من القوة الإحصائية لاختبار دونيت إلى حدها الأقصى لنفس التكلفة الإجمالية لحجم العينة.
12.3 البدائل اللامعلمية لاختبار دونيت عند خرق الافتراضات
عندما تتعرض البيانات التجريبية لخرق شديد لافتراض التوزيع الطبيعي، أو عندما يكون المتغير التابع مقاساً على مقياس رتبي (Ordinal Scale) مع صغر أحجام العينات، تصبح النماذج المعلمية الكلاسيكية غير موثوقة. في هذه الحالة، يجب اللجوء إلى البدائل الاستدلالية اللامعلمية أو المعتمدة على إعادة التوزيع:
- اختبار ستيل للمقارنة مع ضابطة (Steel’s Many-One Test): يُعد البديل اللامعلمي المباشر لاختبار دونيت، وهو امتداد لاختبار مان-ويتني وويلكوكسون للرتب للمقارنات المتعددة مع مجموعة مرجعية واحدة. يمكن تنفيذه في R بسهولة باستخدام حزمة
PMCMRplusعبر الدالة:steelTest(AnxietyScore ~ Group, data = study_data, control = "Control"). - أساليب المعاينة الذاتية والتوليد العشوائي (Bootstrapping / Permutation Tests): تتيح هذه الطرق حساب فترات ثقة متزامنة قوية وقيم $p$ دقيقة دون الاعتماد على أي افتراضات مسبقة حول شكل التوزيع التكراري في المجتمع، ويمكن تطبيقها باستخدام حزمة
bootأوcoinفي R. - النماذج الخطية المعممة (Generalized Linear Models – GLMs): إذا كانت البيانات تتبع توزيعات متقطعة محددة (مثل توزيع بواسون أو التوزيع ثنائي الحدين لبيانات العد أو الحدوث)، يتم بناء نموذج GLM متبوعاً بدالة
glht()أوemmeans()لتنفيذ مقارنات دونيت على مقياس دالة الربط المناسبة.
خاتمة
يمثل اختبار دونيت (Dunnett’s Test) قمة النضج الإحصائي في التصاميم التجريبية التي تركز على مقارنة تدخلات متعددة بمجموعة مرجعية ضابطة. من خلال ضبطه الصارم لمعدل الخطأ العائلي وتوظيفه لمصفوفات الارتباط متعددة المتغيرات، يمنح الاختبار الباحثين أعلى قوة إحصائية ممكنة دون التورط في التحفظ المفرط لاختبارات المقارنة الشاملة مثل توكي وبونفيروني.
توفر لغة R بيئة حوسبة مثالية وشديدة المرونة لتطبيق هذا الاختبار بمستويات دقة متناهية، سواء من خلال الحزمة المعيارية multcomp، أو عبر الحلول الحديثة التي تقدمها حزمة emmeans، أو الأدوات السريعة في DescTools. إن الجمع بين الفهم النظري العميق، والتحقق الحذر من الافتراضات، والتنفيذ البرمجي الدقيق، والتصور البياني الراقي، والتوثيق المحكم وفق دليل APA، يضمن للباحث تقديم مخرجات علمية رصينة تدعم التقدم المعرفي في مجالات العلوم النفسية والطبية والسلوكية بكل ثقة وموثوقية.
References
- Dunnett, C. W. (1955). A multiple comparison procedure for comparing several treatments with a control. Journal of the American Statistical Association, 50(272), 1096–1121. https://doi.org/10.1080/01621459.1955.10501294
- Dunnett, C. W. (1964). New tables for multiple comparisons with a control. Biometrics, 20(3), 482–491. https://doi.org/10.2307/2528490
- Hothorn, T., Bretz, F., & Westfall, P. (2008). Simultaneous inference in general parametric models. Biometrical Journal, 50(3), 346–363. https://doi.org/10.1002/bimj.200810425
- Lenth, R. V. (2023). emmeans: Estimated Marginal Means, aka Least-Squares Means (R package version 1.8.5). Comprehensive R Archive Network (CRAN). https://cran.r-project.org/package=emmeans
- Signorell, A. (2023). DescTools: Tools for Descriptive Statistics (R package version 0.99.48). Comprehensive R Archive Network (CRAN). https://cran.r-project.org/package=DescTools
- American Psychological Association. (2020). Publication Manual of the American Psychological Association (7th ed.). American Psychological Association. https://doi.org/10.1037/0000165-000
- Maxwell, S. E., Delaney, H. D., & Kelley, K. (2018). Designing Experiments and Analyzing Data: A Model Comparison Perspective (3rd ed.). Routledge. https://doi.org/10.4324/9781315642956
- Field, A., Miles, J., & Field, Z. (2012). Discovering Statistics Using R. SAGE Publications.
- Bretz, F., Hothorn, T., & Westfall, P. (2011). Multiple Comparisons Using R. Chapman and Hall/CRC. https://doi.org/10.1201/b10850
- Wickham, H. (2016). ggplot2: Elegant Graphics for Data Analysis. Springer-Verlag New York. https://doi.org/10.1007/978-3-319-24277-4