الإحصاء الحيوي والتحليل النفسيبرمجة R والتمثيل البياني

كيفية تغيير تسميات محاور مخطط الصندوق في R (مع أمثلة)

دليل أكاديمي شامل يشرح كيفية تعديل وتخصيص تسميات محاور مخطط الصندوق (Boxplot) في لغة البرمجة R باستخدام أدوات Base R وحزمة ggplot2 مع تطبيقات عملية ونفسية.

تاريخ النشر

يُعد مخطط الصندوق، أو ما يُعرف في الأدبيات الإحصائية بمخطط الصندوق والساعدين (Box-and-Whisker Plot)، أحد أكثر الوسائل البصرية فاعلية ورسوخاً في تلخيص التوزيعات التكرارية والخصائص البارامترية واللابارامترية للبيانات الكمية. في حقول العلوم السلوكية والنفسية والطبية الحيوية، لا يقتصر التحليل الاستكشافي للبيانات على استخراج المتوسطات الحسابية والانحرافات المعيارية؛ بل يتطلب فهماً عميقاً لشكل التوزيع، ودرجة الالتواء، ومدى التشتت الربيعي، وتحديد القيم الشاذة والمتطرفة التي قد تعكس ظواهر إكلينيكية فريدة أو أخطاء قياس منهجية. ولما كانت الرسوم البيانية هي لغة التخاطب المرئي بين الباحث والمجتمع العلمي، فإن دقة التعبير البصري تكتسب وزناً يضاهي دقة الحساب الرياضي ذاته.

إن بناء مخطط بياني رصين عبر بيئة البرمجة الإحصائية R Project for Statistical Computing يمثل الخطوة الأولى نحو تفكيك البنية المعقدة للمتغيرات التجريبية. غير أن القيمة التفسيرية لهذا المخطط تظل مقيدة أو مشوهة ما لم تقترن بتسميات محاور دقيقة، وواضحة، ومنسقة وفق المعايير المنهجية المعتمدة عالمياً. فالمحاور ليست مجرد إحداثيات هندسية تحدد موضع النقاط والمستطيلات، بل هي السياق المرجعي الذي يمنح الأرقام المجردة دلالاتها الواقعية، رابطاً بين المؤشرات الرقمية والمتغيرات النظرية مثل درجات القلق، ومستويات الأداء المعرفي، وأنماط الاستجابة العلاجية.

يهدف هذا الدليل المرجعي الشامل إلى تزويد الباحثين والمحللين بدراسة تطبيقية ومعمقة لكيفية تغيير، وضبط، وتخصيص تسميات المحاور في مخططات الصندوق داخل لغة R. سنستكشف الآليات البرمجية المتاحة في الحزمة الأساسية (Base R)، ثم ننتقل إلى المعالجات المتقدمة والطبقات التعبيرية الأنيقة التي توفرها منظومة حزمة ggplot2. وسنولي عناية خاصة للإشكاليات الميدانية التي تواجه الباحثين، مثل تداخل النصوص الطويلة، وإدراج الرموز الرياضية والحروف الإغريقية، والتعامل مع ترميز الخط العربي، وصولاً إلى تصدير أشكال نهائية تتطابق مع اشتراطات النشر المعتمدة في دليل الجمعية الأمريكية لعلم النفس (APA 7th Edition).

## 1. مقدمة عامة حول مخطط الصندوق (Boxplot) وأهمية تسميات المحاور في التحليل الإحصائي

### 1.1 المفهوم الإحصائي لمخطط الصندوق ودوره في تمثيل البيانات النفسية
يستند مخطط الصندوق إلى الملخص الخماسي للأعداد (Five-Number Summary) الذي وضعه عالم الإحصاء الشهير جون توكي (John Tukey) في سبعينيات القرن العشرين، ليشمل: القيمة الصغرى، والربيع الأول (Q1)، والوسيط (Q2)، والربيع الثالث (Q3)، والقيمة العظمى، مضافاً إليها تمثيل دقيق للقيم المتطرفة (Outliers) التي تقع خارج نطاق 1.5 ضعف المدى الربيعي (Interquartile Range – IQR). في ميدان القياس النفسي والبحوث الإكلينيكية، تبرز أهمية هذا التمثيل الرياضي بصورة استثنائية؛ إذ تعاني المقاييس السيكومترية (مثل مقياس بيك للاكتئاب، أو اختبارات زمن الرجع، أو درجات الذكاء الوجداني) غالباً من عدم تحقق افتراض التوزيع الطبيعي التام، مما يجعل الاعتماد المنفرد على المتوسط الحسابي مضللاً للباحث نتيجة تأثره الشديد بالالتواءات الطرفية.

يتيح مخطط الصندوق للباحث النفسي المقارنة اللحظية بين توزيعات المجموعات العلاجية المختلفة (كالمجموعة الضابطة مقابل مجموعة العلاج الدوائي ومجموعة العلاج المعرفي السلوكي). فمن خلال ارتفاع الصندوق، يستدل الباحث على المدى الربيعي الذي يمثل 50% من منتصف البيانات، وهو مؤشر نقي للتشتت الداخلي للعينة، في حين يشير الخط المستعرض داخل الصندوق إلى الوسيط، مانحاً إشارة فورية حول نزعة الدرجات المركزية دون تحيز. وتسمح السواعد (Whiskers) الممتدة من طرفي الصندوق برصد امتداد البيانات المقبول إحصائياً، بينما تظهر الدرجات المتطرفة كنقاط منفصلة تستوجب فحصاً سيكومترياً خاصاً لمعرفة ما إذا كانت تمثل حالات إكلينيكية حرجة أو حالات عشوائية ناجمة عن الإجابات غير الدقيقة.

إن الفروق الجوهرية بين مجموعات القياس النفسي تتجلى بوضوح عند تراصف هذه الصناديق أفقياً على طول المحور السيني. فتقارب أو تباعد مستويات الوسيط بين مجموعتين، وتطابق أو اختلاف حجوم الصناديق، يوفر قراءة بصرية أولية تسبق إجراء اختبارات الفروق الدلالية (مثل تحليل التباين الأحادي ANOVA أو اختبار مان-ويتني اللابارامتري)، مما يحمي الباحث من التفسير الآلي الصامت للأرقام ويمنحه رؤية تصويرية شاملة لديناميكية الظاهرة النفسية الخاضعة للدراسة.

### 1.2 أهمية التسميات الدقيقة للمحاور في توضيح السياق البحثي
تلعب التسميات الدقيقة للمحاور دور حجر الزاوية في التواصل العلمي؛ إذ تُعد الرسوم البيانية كيانات معرفية قائمة بذاتها، يُفترض بالقارئ أو المحكم العلمي فهم مضامينها دون الحاجة الملحة للعودة المستمرة إلى متن النص الأصلي. إن وجود تسمية مبهمة أو مقتضبة على المحور السيني (كأن يُكتب الرمز G1 بدلاً من “مجموعة العلاج المعرفي”) يضع عبئاً إدراكياً غير مبرر على المتلقي، مما يرفع من احتمالات الخطأ في تفسير الفروق التجريبية. فالوضوح هنا ليس مجرد ترف جمالي، بل هو متطلب منهجي صارم يضمن انتقال المعرفة الإحصائية دون تشويش.

عند التخطيط للنشر في المجلات العلمية المحكمة ذات معامل التأثير العالي، تخضع الأشكال البصرية لتدقيق صارم من قِبل المراجعين. تتطلب معايير الجمعية الأمريكية لعلم النفس (APA Style Guidelines) أن تكون جميع المحاور معنونة بوضوح لا يقبل اللبس، مع تضمين المتغير المستقل ومستوياته بوضوح تام على المحور الأفقي، وتحديد المتغير التابع ووحدات قياسه وأدواته السيكومترية على المحور الرأسي. إن الالتزام بهذه الموجهات يرفع من موثوقية العمل البحثي، ويسهل عمليات التحليل التلوي (Meta-Analysis) التي يقوم بها باحثون آخرون مستقبلاً بالاعتماد على البيانات المنشورة بصرياً.

علاوة على ذلك، تسهم التسميات التفسيرية الوافية في تأصيل الفروق الدقيقة داخل التصاميم التجريبية المعقدة؛ ففي الدراسات التتبعية أو دراسات القياس المتكرر، يجب أن تعكس التسمية بوضوح ليس فقط اسم المجموعة، بل اللحظة الزمنية للقياس (كالقياس القبلي، القياس البعدي، وقياس المتابعة بعد 6 أشهر). هذا الإيضاح المنهجي يضمن أن يكون الحكم على فاعلية التدخل السلوكي مستنداً إلى أرضية بصرية صلبة تمنع الخلط بين المتغيرات الفرعية.

### 1.3 التحديات المرتبطة بالتسميات الافتراضية للمحاور في لغة R
تعتمد بيئة R الإحصائية في ضبطها المبدئي على أسماء المتغيرات والأعمدة المخزنة في بنية إطار البيانات (Data Frame) كعناوين افتراضية لمحاور الرسوم البيانية. ومن الشائع جداً في الممارسات البرمجية أن يطلق الباحثون على الأعمدة أسماء مختصرة باللغة الإنجليزية لتسهيل كتابة الأكواد والتحليلات، مثل (grp_cbt) أو (anx_post_scr). عند تمرير هذه المتغيرات مباشرة إلى دوال الرسم، تظهر المخططات بهذه الأسماء الرمزية الجافة التي تعيق القراءة المباشرة وتجرد الشكل من سياقه الأكاديمي الرصين.

يتعاظم التحدي عندما تتضمن التجارب النفسية فئات تصنيفية ذات مسميات وصفية طويلة، كأن تكون إحدى الفئات “برنامج التدريب على اليقظة الذهنية وخفض التوتر المعتمد على التعرض التدريجي”. في هذه الحالة، تتداخل النصوص الافتراضية على المحور الأفقي أفقياً، مما ينتج عنه تكتل بصري مشوه يجعل الكلمات غير قابلة للقراءة تماماً. وتفشل الإعدادات الافتراضية في R في معالجة هذا التزاحم تلقائياً، ما لم يتدخل المبرمج بتعديل زوايا التدوير أو إعادة الهيكلة المطبعية للمحور.

تنشأ صعوبة إضافية تتمثل في الرغبة في تعديل العرض البصري دون الإخلال بسلامة إطار البيانات الأصلي؛ فإعادة تسمية الأعمدة الأصلية داخل مصفوفة البيانات بأسماء وصفية مطولة قد يؤدي إلى تعقيد كتابة نماذج الانحدار أو تحليلات التباين اللاحقة، بل قد يتسبب في توقف بعض الحزم البرمجية الحساسة للمسافات والفواصل. من هنا تبرز الحاجة الماسة لامتلاك أدوات برمجية مرنة ومتقدمة تمكّن الباحث من تخصيص تسميات المحاور على مستوى طبقة العرض البصري فحسب، مع الاحتفاظ بأسماء المتغيرات البرمجية موجزة وفعالة على مستوى إدارة البيانات.

## 2. إعداد بيئة العمل وتوليد مصفوفة بيانات سيكولوجية تجريبية للتطبيق

### 2.1 تثبيت واستدعاء المكتبات البرمجية الضرورية
لتحقيق أقصى درجات الإتقان التحليلي والتطبيقي، يتطلب مسار العمل في لغة R الجمع بين محركين رئيسيين للرسم البياني: المحرك الأساسي المدمج (Base Graphics) لما يوفره من سرعة وخفة في الاستكشاف الأولي، ومنظومة tidyverse الحديثة، وتحديداً حزمة ggplot2، لبناء الرسوم المتقدمة القابلة للنشر. يبدأ الإعداد المنهجي بالتحقق من تثبيت هذه الحزم في بيئة RStudio وضمان توافقها مع الإصدار المستقر للغة.

يتم تثبيت منظومة الحزم المطلوبة من خلال مستودع CRAN الرسمي عبر تنفيذ أمر التثبيت المعتاد للحزمة المتكاملة tidyverse، أو التثبيت المنفصل لحزمة ggplot2 وحزمة reshape2 المستخدمة في التحويلات الهيكلية. وبعد إتمام التثبيت، يتعين استدعاء الحزم إلى جلسة العمل النشطة باستخدام الدالة library. إن التأكد من استدعاء الحزم في بداية بيئة العمل البرمجية يضمن عدم حدوث أخطاء ناجمة عن الدوال المفقودة أثناء تنفيذ طبقات الرسم المعقدة.

من الأهمية بمكان التأكد من عدم وجود تعارض بين الدوال ذات الأسماء المتطابقة؛ حيث تشترك بعض الحزم في مسميات دوال معينة. توفر حزمة tidyverse معمارية بيانات متسقة ومتوافقة برمجياً تحافظ على تدفق البيانات بسلاسة من مرحلة المعالجة إلى مرحلة التمثيل البياني النهائي، مما يمهد الطريق لتطبيق التجارب والأمثلة القادمة في هذا الدليل باحترافية واستقرار تام.

### 2.2 بناء مجموعة بيانات تجريبية تحاكي قياسات القلق والأداء المعرفي
لضمان الطابع التطبيقي الواقعي لهذا الدليل، سنقوم بتوليد مصفوفة بيانات اصطناعية تحاكي دراسة تجريبية في علم النفس الإكلينيكي. تهدف هذه الدراسة الافتراضية إلى مقارنة تأثير ثلاثة تدخلات علاجية مختلفة على خفض درجات القلق النفسي، المقاسة بواسطة مقياس معتمد يتراوح مجاله العملي بين 0 و60 درجة، حيث تشير الدرجات المرتفعة إلى مستويات قلق حادة. المجموعات العلاجية الثلاث هي: مجموعة قائمة الانتظار أو التحكم (Control Group)، ومجموعة العلاج السلوكي المعرفي (CBT Group)، ومجموعة العلاج الدوائي المدمج بتدريبات الاسترخاء (Combined Pharmacotherapy & Relaxation).

لضمان إمكانية إعادة إنتاج نفس النتائج الرياضية والأشكال البيانية بدقة متطابقة لدى أي باحث ينفذ هذه الأكواد، نستخدم الدالة set.seed مع تحديد قيمة عشوائية ثابتة (ولتكن 123). بعد ذلك، نستعين بدالة التوزيع الطبيعي العشوائي rnorm لتوليد درجات القلق لكل مجموعة، مع تحديد حجم العينة بـ 40 مشاركاً في كل تدخل (إجمالي N = 120). سنحدد متوسطاً مرتفعاً لمجموعة التحكم (Mean = 42, SD = 6) ليعكس بقاء الأعراض دون تدخل، بينما نحدد لمجموعة العلاج السلوكي متوسطاً منخفضاً (Mean = 28, SD = 5.5)، وللمجموعة المدمجة متوسطاً أكثر انخفاضاً مع تباين أوسع (Mean = 22, SD = 7) لمحاكاة التفاوتات الإكلينيكية الفردية.

نقوم في هذه المرحلة بدمج هذه المتجهات العددية الثلاثة داخل إطار بيانات موحد (data.frame) يحمل التسميات البرمجية المقتضبة والافتراضية: “ctrl” و”cbt” و”comb”. هذه التسميات المختصرة ستمثل نموذج التحدي الافتراضي؛ إذ تعكس بدقة واقع ملفات البيانات الخام قبل خضوعها لعمليات التهذيب والتنسيق البصري.

### 2.3 فحص بنية البيانات ومراجعة العينات الأولى
قبل الانتقال إلى توليد مخططات الصندوق، يقتضي المنهج العلمي السليم إجراء فحص تشخيصي لبنية المصفوفة التي تم إنشاؤها. تتيح لنا دالة str (اختصار Structure) استعراض الخصائص الداخلية للمتغيرات، والتأكد من تصنيفها الرياضي كأعمدة عددية مستمرة (numeric)، والاطلاع على العدد الإجمالي للملاحظات والصفوف في كل عمود. هذا الإجراء يحول دون مواجهة أخطاء عدم تطابق الأنواع البرمجية أثناء تمرير المتغيرات لدوال الرسم.

يتبع ذلك استخدام دالة head لعرض الصفوف الستة الأولى من مصفوفة البيانات؛ حيث نتحقق بصرياً من طبيعة القيم المولدة، وسلامة محاذاتها للأعمدة المقابلة، وغياب أي قيم مفقودة (NA) غير مرغوبة قد تكون تسللت أثناء عملية المعالجة الأولية. ومن المفيد أيضاً استخدام دالة summary لاستخراج مقاييس النزعة المركزية والتشتت (المتوسط، الوسيط، القيم الدنيا والقصوى، والربيعيات) لكل عمود على حدة.

يُظهر هذا الفحص الإحصائي الاستكشافي الأولي وجود فروق واضحة بين المجموعات الثلاث؛ إذ نلاحظ هبوط وسيط درجات القلق تدريجياً من مجموعة التحكم صعوداً إلى التدخلات العلاجية الفعالة. هذه الفروق الإحصائية المحسوبة عددياً ستكون هي المادة الخام التي سنسعى لتجسيدها عبر مخطط الصندوق، مع التركيز على جعل تسميات المحاور معبرة تعبيراً صادقاً عن طبيعة هذه المقارنات الإكلينيكية.

## 3. تغيير تسميات محور السينات في الحزمة الأساسية (Base R) عبر المعامل names

### 3.1 إنشاء مخطط الصندوق الافتراضي واستكشاف مخرجاته
عند التعامل مع الرسوم البيانية في الحزمة الأساسية للغة R، تُعد دالة boxplot الأداة الأكثر مباشرة وتداولاً. لإنشاء المخطط المبدئي لمصفوفة البيانات التي أعددناها، يكفي تمرير اسم إطار البيانات مباشرة كمدخل أساسي للدالة. في هذه الحالة، يقوم المحرك الرسومي الداخلي تلقائياً بمسح أعمدة البيانات الثلاثة، ورسم صندوق مخصص لكل عمود وفق قيم الملخص الخماسي الخاصة به، مع وضع أسماء الأعمدة المستمدة من المصفوفة (“ctrl”، “cbt”، “comb”) مباشرة أسفل كل صندوق على المحور السيني.

يكشف التدقيق في هذا المخرج الأولي عن فجوة تفسيرية جوهرية؛ فالقارئ الأكاديمي أو المراجع الميداني الذي لا يمتلك دراية مسبقة بدفتر الشفرات (Codebook) الخاص بالبحث، سيجد صعوبة في الجزم بمدلول هذه الرموز الإنجليزية المختصرة. هل الرمز “comb” يشير إلى علاج دوائي مركب، أم تدريب سلوكي مدمج، أم توليفة من عناصر أخرى؟ وهل “ctrl” تعني عينة غير مصابة أم مجموعة انتظار لمرضى مشخصين؟ إن غياب الشفافية في التسمية يفرغ الرسم البياني من قدرته على الإيضاح الذاتي ويضطره إلى الاعتماد المفرط على الشرح النصي المرافق.

بالإضافة إلى ذلك، تظهر التسميات الافتراضية بخط قياسي مجرد يفتقر إلى الوزن التنسيقي المناسب، وتتوسط الصناديق دون أي مؤشر حول التصنيف التجريبي الأوسع للمتغير المستقل. هذا التمثيل البدائي، على الرغم من فائدته التحليلية اللحظية للمبرمج أثناء استكشاف البيانات السريع، يظل قاصراً بصورة جذرية عن تلبية معايير التقرير النهائي أو العرض التقديمي في المؤتمرات والندوات العلمية.

### 3.2 تطبيق المعامل names لتعديل مسميات المجموعات التجريبية
لإعادة صياغة مسميات الفئات على المحور الأفقي في Base R دون المساس بأسماء الأعمدة الأصلية في قاعدة البيانات، توفر دالة boxplot معاملاً صريحاً فائق المرونة يُدعى names. يستقبل هذا المعامل متجهاً نصياً (Character Vector) يحتوي على العناوين البديلة التي يرغب الباحث في إظهارها أسفل كل صندوق، مرتبة بدقة وفق ظهور الأعمدة في المصفوفة من اليسار إلى اليمين.

يتم تطبيق ذلك برمجياً عبر إسناد متجه يحتوي على التسميات العربية التفصيلية للمعامل names ضمن استدعاء الدالة. على سبيل المثال، يمكننا تحديد المتجه ليشمل: “مجموعة التحكم (قائمة الانتظار)”، و”العلاج المعرفي السلوكي”، و”العلاج المدمج (دوائي + استرخاء)”. عند تنفيذ هذا الأمر، يتجاهل محرك الرسم الأسماء الداخلية للأعمدة، ويسقط بدلاً منها هذه الأوصاف الدقيقة أسفل الصناديق المتطابقة، مما يرفع فوراً من مستوى وضوح المخطط ويجعل دلالته الأكاديمية مفهومة بذاتها.

يشترط لنجاح هذا الإجراء تطابق صارم بين طول المتجه النصي الممرر إلى names وعدد الصناديق المرسومة في المخطط البياني. فإذا احتوت مصفوفة البيانات على ثلاثة أعمدة وتم تمرير متجه يحوي تسميتين فقط، سيقوم محرك R بإطلاق تحذير أو إسقاط التسمية عن الفئة الأخيرة، مما يحدث تشوهاً في العرض الإحصائي. لذا فإن ضبط أبعاد المدخلات يمثل خطوة أساسية لضمان سلامة الإخراج النهائي.

### 3.3 ضبط التوافق والترتيب بين المتغيرات ومسمياتها الجديدة
إن أخطر الأخطاء المنهجية التي قد يقع فيها محلل البيانات أثناء تخصيص التسميات عبر المعامل names هو الخلط في الترتيب الموضعي للمدخلات النصية داخل المتجه. لا تقوم دالة boxplot بإجراء مطابقة دلالية أو آلية ذكية بين المعنى والمحتوى، بل تتبع ترتيباً موضعياً صارماً يعتمد على أسبقية الأعمدة في إطار البيانات؛ فالعنصر الأول في المتجه النصي يُرسم حتماً أسفل العمود الأول، والثاني أسفل العمود الثاني، وهكذا دواليك.

لو افترضنا جدلاً أن الباحث عكس الترتيب النصي عن غير قصد، فوضع “العلاج المدمج” في بداية المتجه النصي و”مجموعة التحكم” في نهايته، فإن المخطط البياني سينسب درجات القلق العالية التي سجلتها مجموعة التحكم في الواقع إلى العلاج المدمج، في حين يظهر التحكم بمتوسطات منخفضة. هذا الخطأ الإجرائي، رغم بساطته البرمجية، يقود إلى كوارث تفسيرية تعكس نتائج الفرضيات التجريبية رأساً على عقب، وقد يؤدي إلى نشر استنتاجات خاطئة حول فاعلية البرامج العلاجية.

لتفادي هذا الانزلاق المنهجي، يتعين على الباحث اتباع استراتيجية تحقق مزدوجة: أولاً، فحص أسماء الأعمدة وترتيبها الدقيق عبر استدعاء الأمر names(df) أو colnames(df) قبل كتابة أمر الرسم؛ وثانياً، مقارنة قيم الوسيط الإحصائي المحسوبة مسبقاً مع مواقع الخطوط الأفقية داخل الصناديق بعد ظهور التسميات الجديدة. هذا التيقن الميداني يضمن التوافق التام بنسبة مئة بالمئة بين الفئات السيكولوجية الحقيقية ومسمياتها المعروضة أمام المتلقي.

## 4. التحكم المتقدم في زوايا ومواقع تسميات المحاور في Base R

### 4.1 تدوير التسميات باستخدام المعامل las لتفادي تداخل النصوص
عند الانتقال من التسميات الرمزية القصيرة إلى العناوين الوصفية الرصينة، يبرز عائق بصري شائع يتمثل في تداخل النصوص الأفقية مع بعضها البعض، لا سيما عندما تكون مسميات الفئات طويلة وتفصل بينها مسافات ضيقة على المحور السيني. تعالج الحزمة الأساسية في R هذه المعضلة من خلال معامل الأسلوب المحوري المعروف اختصاراً بـ las (Label Axis Style)، والذي يحدد الاتجاه الهندسي وزاوية دوران نصوص المحاور نسبة إلى خط المحور ذاته.

يأخذ المعامل las أربع قيم رقمية صحيحة تترجم سلوكاً محورياً محدداً: فالقيمة 0 تعني بقاء التسميات موازية دائماً لخط المحور (وهو الوضع الافتراضي الذي يجعل تسميات المحور الأفقي أفقية وتسميات المحور الرأسي رأسية)؛ والقيمة 1 تجعل جميع التسميات على كلا المحورين أفقية تماماً؛ والقيمة 2 تجعل التسميات عمودية دائماً على اتجاه خط المحور؛ بينما تجعل القيمة 3 جميع التسميات رأسية على كلا المحورين. في حالتنا، يُعد تعيين las = 2 الخيار المثالي والأكثر شيوعاً لإجبار تسميات المحور السيني الطويلة على الدوران بزاوية 90 درجة لتظهر رأسية تماماً، مما يزيل التداخل الجانبي بين النصوص بالكامل.

إن تطبيق las = 2 يضمن قراءة كل تسمية باستقلالية تامة أسفل الصندوق المخصص لها دون أي تماس حروفي مشوه. ومع ذلك، فإن هذا التدوير الرأسي يفرض تحدياً إضافياً يتعلق بالمساحة المتاحة أسفل الرسم، إذ يؤدي طول النص الرأسي في كثير من الأحيان إلى خروج الكلمات عن الحيز المرئي للنافذة البيانية، مما يتطلب تدخلاً برمجياً إضافياً لتوسيع الهوامش السفلية كما سنفصل لاحقاً.

### 4.2 تعديل هوامش الرسم البياني لاستيعاب التسميات الطويلة عبر par(mar)
تتحكم الدالة العامة par في الخصائص البيئية والطبغرافية للمساحة المخصصة للرسم في الحزمة الأساسية لـ R. عند تدوير تسميات المحور السيني لتصبح رأسية، غالباً ما تُقتطع الحروف الأخيرة من الكلمات نظراً لضيق الهامش السفلي المخصص افتراضياً في المحرك الرسومي. للتغلب على هذه المشكلة، يستخدم وسيط الهوامش mar (Margins) الممرر عبر الدالة par، والذي يستقبل متجهاً رباعي الأبعاد يحدد مساحة الهوامش بالأسطر وفق الترتيب الصارم: الأسفل، ثم الأيسر، ثم الأعلى، ثم الأيمن (c(bottom, left, top, right)).

القيم الافتراضية لهوامش الرسم في Base R تكون عادة مقيدة بنحو c(5.1, 4.1, 4.1, 2.1). لاستيعاب التسميات الأكاديمية الطويلة وتفادي بترها، يمكن للباحث رفع الهامش السفلي بصورة مدروسة، كأن يحدد المتجه بالصيغة: par(mar = c(8.5, 5, 4, 2)). هذه المساحة الإضافية في الهامش السفلي تمنح الكلمات الممتدة حيزاً كافياً للظهور دون أن تصطدم بحافة إطار المخرجات أو تتداخل مع العنوان الكلي للمحور السيني.

من القواعد البرمجية الذهبية عند استخدام الدالة par حفظ الإعدادات الأصلية للرسوم في متغير مستقل قبل التعديل، وذلك من خلال إسناد المخرجات الأولية للأمر (old_par <- par(no.readonly = TRUE)). وبعد اكتمال رسم مخطط الصندوق وتصديره بالشكل المطلوب، يقوم الباحث باستعادة التهيئات القياسية بتمرير المتغير القديم إلى الدالة (par(old_par)). يضمن هذا السلوك الاحترافي عدم تأثر الرسوم البيانية اللاحقة في نفس جلسة العمل بالتعديلات الاستثنائية التي فُرضت على هذا المخطط تحديداً. ### 4.3 تخصيص حجم ونوع الخط لتسميات المحاور بواسطة cex.axis وfont.axis تكتمل السيطرة الجمالية والوظيفية على تسميات المحاور في Base R من خلال التحكم في المقاييس الطباعية لحروف النصوص. يوفر المحرك البياني المعامل cex.axis (حيث يرمز cex إلى Character Expansion) كأداة للتحكم النسبي في حجم خط التسميات الرقمية والنصية الواقعة على علامات التجزئة للمحاور. القيمة الافتراضية لهذا المعامل هي 1.0، وتمرير قيمة كسرية مثل 0.85 يؤدي إلى تصغير الخط بنسبة 15%، وهو حل عملي ممتاز عند الرغبة في المحافظة على التسميات أفقية مع تفادي التداخل دون الحاجة إلى تدويرها رأسياً. على الجانب الآخر، يتيح المعامل font.axis تخصيص النمط البصري للخط المستخدم في نصوص المحاور؛ حيث يقبل قيماً عددية تحدد هيئة الخط: فالقيمة 1 تعكس الخط العادي القياسي (Plain text)، والقيمة 2 تمنح الخط وزناً عريضاً (Bold)، في حين تُخصص القيمة 3 للخط المائل (Italic)، والقيمة 4 للخط العريض والمائل معاً. في الأبحاث النفسية التي تتطلب تمييز فئات علاجية معينة أو إبراز تباين مفصلي بين المجموعات، يمكن للاستخدام الواعي للخط العريض (font.axis = 2) أن يضفي قوة بصرية واضحة على الشكل النهائي. تحقيق الموازنة البصرية بين حجم الخط (cex.axis) والمسافات البينية وهوامش اللوحة يضمن خروج مخطط الصندوق بمظهر محترف. يجب الحذر من المبالغة في تصغير الخط؛ لأن ذلك يضعف المقروئية عند طباعة المقالات العلمية أو عرضها عبر شاشات الإسقاط في المؤتمرات، فالهدف الأساسي يظل دائماً الوصول إلى نقطة التوازن المثالية بين كثافة المعلومات المعروضة وسهولة التقاطها بالعين المجردة. ## 5. إعادة هيكلة البيانات للانتقال إلى بيئة حزمة ggplot2 ### 5.1 الفروق البنيوية بين تنسيق البيانات العريض (Wide) والطويل (Long) تعتمد الحزمة الأساسية في R سهولة بدائية تمكّنها من رسم مصفوفات البيانات بالتنسيق العريض (Wide Format)، حيث يمثل كل عمود مجموعة تجريبية مستقلة، وكل صف مشاركاً أو قياساً مفرداً. ورغم أن هذا التنسيق مألوف في برامج الجداول الحسابية مثل Excel، إلا أنه يمثل عائقاً حقيقياً أمام التحليلات المتقدمة والرسوم البيانية المركبة. على النقيض من ذلك، تنبثق فلسفة حزمة ggplot2 من المبادئ الحديثة لتنسيق "البيانات المرتبة" (Tidy Data) التي رسخها هادلي ويكهام (Hadley Wickham)، والتي تشترط التنسيق الطويل (Long Format) كشرط جوهري لتطبيق طبقات الرسم. في التنسيق الطويل، يتطابق كل صف في المصفوفة مع ملاحظة سيكولوجية مفردة واحدة لا غير، وتتوزع الأبعاد في عمودين رئيسيين: عمود فئوي عاملي (Factor) يحدد المجموعة التجريبية أو المتغير المستقل (مثل نوع التدخل العلاجي)، وعمود عددي مستمر يضم القيمة الرقمية المقاسة للمتغير التابع (مثل درجات القلق). هذا التفكيك البنيوي يفصل تماماً بين "الفئات التصنيفية" و"القيم الرقمية"، مما يتيح لمحرك ggplot2 ربط المتغيرات بالخصائص البصرية (Aesthetics Mapping) بكفاءة هندسية لا تضاهى. يوفر التنسيق الطويل مرونة فائقة عند توسيع التصميم التجريبي ليشمل متغيرات تصنيفية ثانوية؛ مثل تقسيم كل مجموعة علاجية بحسب النوع الاجتماعي للمشاركين (ذكور/إناث) أو الفئات العمرية. في مثل هذه السيناريوهات المتشعبة، يعجز التنسيق العريض عن مجاراة التعقيد البياني، بينما يتيح التنسيق الطويل رسم الصناديق المتجاورة، وتلوينها، وتوزيعها عبر ألواح متعددة (Faceting) بسلاسة مطلقة وبأكواد برمجية بالغة الإيجاز. ### 5.2 تحويل مصفوفة البيانات باستخدام دالتي pivot_longer أو melt لتحويل مصفوفة قياسات القلق من التنسيق العريض الأصلي إلى التنسيق الطويل المتوافق مع ggplot2، تبرز دالة pivot_longer المنتمية لحزمة tidyr (وهي ركيزة أساسية في منظومة tidyverse) كأحدث وأكفأ أداة برمجية معتمدة. تستقبل هذه الدالة إطار البيانات الأصلي، ثم نحدد عبر المعامل cols الأعمدة المراد طيها وتحويلها ("ctrl", "cbt", "comb")، ونحدد اسم العمود الجديد الحاضن للفئات عبر المعامل names_to (وليكن "group")، واسم العمود الحاضن للدرجات العددية عبر المعامل values_to (وليكن "anxiety_score"). كبديل تاريخي راسخ في الأوساط الأكاديمية لا يزال مستخدماً في العديد من المشاريع البرمجية، يمكن استخدام دالة melt التابعة لحزمة reshape2. يؤدي استخدام دالة melt على إطار البيانات إلى نفس النتيجة الهيكلية؛ حيث تجمع أسماء الأعمدة في عمود افتراضي يُدعى "variable"، وتجمع الأرقام في عمود يُدعى "value". ورغم كفاءة دالة melt، إلا أن الانتقال إلى دالة pivot_longer هو الخيار الأكثر موثوقية وتوافقاً مع المعايير الحديثة للغة R، لما تمنحه من سيطرة دقيقة على أنواع البيانات ومسمياتها المباشرة دون الحاجة لخطوات تعديل لاحقة. تتضح أهمية هذه التحويلات المنهجية في تجريد البيانات من طابعها المكتبي الثابت وتحويلها إلى متجهات تدفقية مرنة. عند اكتمال التحويل، تصبح المصفوفة الجديدة بطول 120 صفاً (40 ملاحظة × 3 مجموعات)، كل صف يمثل استجابة مشارك محدد متبوعة ببطاقة تعريفية توضح هويته التجريبية بدقة، مما يؤهل البيانات مباشرة لعمليات التشكيل والتلوين وإعادة التسمية في بيئة الرسم المتقدم. ### 5.3 فحص الهيكل الجديد للبيانات والتأكد من صلاحيتها للنمذجة عقب إتمام عملية التحويل الهيكلي، يقتضي الضبط المنهجي إخضاع إطار البيانات الجديد لفحص بنيوي فوري للتأكد من عدم حدوث أي انحراف في طبيعة المتغيرات. بالاعتماد مجدداً على دالة str، نراجع مصفوفة البيانات الجديدة (ولنسمها df_long)؛ حيث نتأكد من أن عمود "anxiety_score" حافظ على هويته كمتغير عددي مستمر (numeric)، وأن عمود "group" قد تحول إلى متغير نصي (character) أو فئوي. يُعد التحقق من غياب القيم المفقودة المستحدثة ركناً أساسياً في هذه المراجعة؛ ففي بعض الحالات التي تشوبها أخطاء في تحديد أسماء الأعمدة داخل pivot_longer، قد تنشأ صفوف فارغة (NA) تشوه التمثيل البياني وتؤدي إلى اقتطاع جزء من الصناديق أثناء الرسم. يتيح استخدام الأمر colSums(is.na(df_long)) التأكد التام من أن كافة الصفوف المائة والعشرين مكتملة تماماً وخالية من أي ثغرات بيانات غير مقصودة. كما يُنصح باستعراض عينة عشوائية من الصفوف باستخدام دالة slice_sample التابعة لحزمة dplyr لمطالعة التوزيع التبادلي للمجموعات داخل الإطار الطويل. هذا التدقيق الميداني يمنح الباحث ثقة مطلقة في أن كل درجة قلق لا تزال مرتبطة بدقة بتسمية مجموعتها الأصلية، مما يضمن أن الخطوات القادمة المخصصة للتعديل التسموي على محاور ggplot2 ستبنى على بنية بيانات متماسكة وصحيحة سيكومترياً وبرمجياً. ## 6. تعديل تسميات المحاور في ggplot2 عبر إعادة تعريف مستويات العوامل (Factor Levels) ### 6.1 مفهوم المتغيرات العاملية (Factors) والمستويات (Levels) في لغة R تتعامل لغة R مع المتغيرات النوعية والتصنيفية من خلال بنية بيانات خاصة وشديدة الفاعلية تُعرف بالعوامل (Factors). يختلف العامل جوهرياً عن مجرد كونه نصاً تقليدياً؛ فالنصوص تُخزن كسلاسل حروفية حرة، بينما تُخزن العوامل داخلياً كأرقام صحيحة متسلسلة (1, 2, 3...) يرتبط كل رقم منها ببطاقة تعريفية نصية تُسمى "المستوى" (Level). في سياق التحليل البصري باستخدام حزمة ggplot2، تلعب المستويات الدور الحاكم والنهائي في تحديد موقع وتسلسل الفئات على المحاور؛ فالفئة المرتبطة بالمستوى الأول تُعرض في أقصى يسار المحور السيني، تليها الفئة المرتبطة بالمستوى الثاني، وهكذا دواليك. تمتلك هذه البنية العاملية تأثيراً مباشراً على كيفية ظهور مخططات الصندوق؛ فإذا كان المتغير الفئوي مخزناً كنص خام، يقوم R تلقائياً بتحويله داخلياً إلى عامل وترتيب مستوياته وفق الترتيب الأبجدي اللاتيني الافتراضي (Alphabetical Order). في دراساتنا النفسية، قد لا يتطابق الترتيب الأبجدي مع الترتيب المنطقي للتجربة؛ فالمنطق العلمي يفرض وضع "مجموعة التحكم" أولاً، تليها "مجموعة العلاج المعرفي"، ثم "العلاج المدمج"، في حين أن الترتيب الأبجدي قد يقدم "CBT" على "Control". من هنا، فإن فهم آليات ضبط وتعديل مستويات العوامل ومسمياتها (Labels) يمنح الباحث أداة جذرية لإعادة صياغة المحور السيني بالكامل قبل تمريره إلى محرك الرسم. إن التعديل على مستوى بنية المتغير العاملي ذاته ينعكس تلقائياً ليس فقط على مخطط الصندوق، بل على أي جدول إحصائي أو نموذج انحدار لاحق يُبنى على هذا المتغير، مما يحقق اتساقاً منهجياً شاملاً عبر كامل مراحل المشروع البحثي. ### 6.2 تعديل مسميات المستويات مباشرة باستخدام الدالة levels() تتمثل الطريقة الأكثر مباشرة لتعديل مسميات الفئات على مستوى البيانات في مخاطبة خاصية المستويات وتعديلها عبر دالة levels المدمجة في Base R. بعد التأكد من تحويل عمود المجموعات إلى متغير عاملي باستخدام دالة as.factor، يستطيع الباحث استعراض المستويات الحالية للعمود؛ حيث ستظهر المسميات الافتراضية ("cbt", "comb", "ctrl") مرتبة أبجدياً كما حددها النظام. لإعادة تسمية هذه المستويات بأسماء وصفية رصينة، نقوم بإسناد متجه نصي جديد باللغة العربية مباشرة إلى خاصية المستويات: levels(df_long$group) <- c("العلاج السلوكي", "العلاج المدمج", "مجموعة التحكم"). عند تنفيذ هذا الأمر، يُجري R عملية استبدال جذرية للبطاقات النصية الداخلية المرتبطة بالأرقام الفئوية، مع المحافظة التامة على البنية العددية للمصفوفة وعلى انتماء كل مشارك لمجموعته الصحيحة دون أي اختلاط. عند بناء مخطط الصندوق تالياً باستخدام الدالة الأساسية ggplot مع الطبقة geom_boxplot، يقرأ المحرك البصري المستويات الجديدة مباشرة، ويسقط التسميات العربية المفصلة أسفل كل صندوق على المحور الأفقي تلقائياً دون الحاجة لكتابة أي وسائط إضافية لتعديل المحاور داخل طبقات الرسم. يُعد هذا النهج موفراً فائقاً للجهد والوقت في المشاريع البحثية الكبيرة التي تشتمل على توليد عشرات المخططات البيانية لنفس المجموعات، إذ تظهر التسميات الجديدة موحدة ومحدثة في كافة المخرجات اللاحقة دفعة واحدة. ### 6.3 إعادة تشكيل العوامل المخصصة بواسطة دالة factor مع المعامل labels رغم سهولة التعديل المباشر عبر levels()، إلا أن الممارسات البرمجية المتقدمة تفضل استخدام دالة factor الشاملة؛ نظراً لكونها تمنح الباحث سيطرة مزدوجة على كل من الترتيب الموضعي (Levels) والتسمية المعروضة (Labels) في خطوة واحدة مانعة للخطأ. تتيح هذه الدالة تحديد الترتيب المنطقي الدقيق لظهور المجموعات عبر معامل levels، مع تزويدها بالمسميات الأكاديمية المقابلة لكل مستوى عبر معامل labels. يتم صياغة الكود بتمرير المتغير الأصلي إلى دالة factor، وتحديد مستويات الإدخال بالترتيب المنطقي السليم: levels = c("ctrl", "cbt", "comb")، يليه تحديد التسميات المقابلة بنفس الترتيب: labels = c("مجموعة التحكم", "العلاج المعرفي السلوكي", "العلاج المدمج"). الميزة الحاسمة هنا هي فك الارتباط القسري بالترتيب الأبجدي؛ فالصندوق المخصص لمجموعة التحكم سيحتل دائماً الصدارة على يسار المحور، متوافقاً مع المنطق العلمي الذي يبدأ بالأساس المقارن (Baseline) قبل استعراض التأثيرات العلاجية. تحمي هذه المنهجية الباحث من الوقوع في فخ الأخطاء الإملائية أو التبديل غير المتطابق؛ فإذا حدث خطأ في كتابة أحد أسماء المستويات الأصلية داخل معامل levels، يطلق R تحذيراً صريحاً بوجود مستويات مفقودة وتحولها إلى قيم فارغة (NA)، مما يلفت انتباه المحلل فوراً لمعالجة الخلل قبل المضي قدماً في الرسم. هذا المستوى العالي من الحوكمة البرمجية يجعل دالة factor الخيار الأكاديمي الأكثر متانة واستقراراً لإعداد البيانات للنشر. ## 7. تخصيص تسميات المحور باستخدام مقاييس المتغيرات المنفصلة scale_x_discrete في ggplot2 ### 7.1 آلية عمل الدالة scale_x_discrete ودورها في طبقات الرسم تستند حزمة ggplot2 إلى الفلسفة الجمالية الصارمة المعروفة بـ "قواعد بناء الرسوم البيانية" (Grammar of Graphics)، والتي تقوم على الفصل الكامل والمبدئي بين معالجة طبقة البيانات الخام (Data Layer) وطبقة الإخراج البصري والجمالي (Aesthetic Scale Layer). انطلاقاً من هذه الفلسفة، يفضل العديد من الباحثين الإبقاء على أسماء المتغيرات ومستوياتها داخل إطار البيانات باللغة الإنجليزية المختصرة أو الرموز البرمجية لتسهيل التحليلات الخطية والنماذج الرياضية، مع تولي مهمة التخصيص التسموي للمحاور عبر طبقة بصرية مخصصة دون المساس بالبيانات الأصلية نهائياً. هنا تبرز دالة scale_x_discrete كحلقة وصل معمارية تتحكم في كيفية ترجمة البيانات الفئوية المتقطعة (Discrete) إلى إحداثيات ومسميات على المحور السيني. تتحكم هذه الدالة في كافة تفاصيل المحور الأفقي: من تحديد أي الفئات يتم عرضها، وترتيب علامات التجزئة (Breaks)، إلى صياغة التسميات النهائية (Labels) التي تظهر للقارئ. إن استخدام هذه الدالة يمنح المخطط البياني استقلالية تامة؛ حيث يمكن توليد مخططات متعددة بلغات مختلفة (عربية، إنجليزية، فرنسية) لنفس البيانات الخام، بمجرد تعديل نصوص هذه الطبقة فقط. تتفوق هذه الطريقة في سياق العمل الجماعي ضمن الفرق البحثية؛ حيث يشارك أعضاء الفريق مصفوفة بيانات موحدة ومقننة عالمياً برموز قصيرة، بينما يقوم كل باحث بصياغة التسميات البصرية وفق المتطلبات التحريرية الخاصة بالمجلة العلمية المستهدفة. كما تتيح الدالة للمحلل سرعة تعديل المصطلحات بناءً على ملاحظات لجان التحكيم دون الحاجة لإعادة تشغيل خوارزميات المعالجة التجهيزية للبيانات من البداية. ### 7.2 التطبيق العملي لوسيط labels مع متجهات ونصوص مخصصة لتطبيق التسميات البديلة عملياً عبر دالة scale_x_discrete، نقوم بربط طبقة المقياس بالمخطط التراكمي لـ ggplot باستخدام علامة الجمع (+). داخل الدالة، نستدعي الوسيط labels ونمرر له متجهاً نصياً يحتوي على التسميات الجديدة المراد إظهارها على المحور الأفقي. يقوم المحرك برسم الصناديق في مواقعها المعتادة، ولكنه يستبدل النصوص المقتضبة بالأسماء الجديدة الواردة في المتجه بدقة وأناقة.

تظهر قوة هذا التطبيق عند التعامل مع المقاييس النفسية التي تتطلب إضافة تفاصيل مساعدة ضمن التسمية؛ كأن نضيف حجم المجموعة الإحصائي أو نوع التدخل المختصر: scale_x_discrete(labels = c(“مجموعة الضبط”, “علاج سلوكي (CBT)”, “علاج دوائي مركب”)). يتعامل المحرك البصري مع هذه السلاسل النصية بمرونة فائقة، مسقطاً إياها بدقة تحت المراكز الهندسية للصناديق المقابلة، مع المحافظة على تناسق الألوان والمؤشرات الأخرى في الرسم.

ومع ذلك، يظل استخدام المتجه الموضعي البسيط محفوفاً بنفس المخاطر الموضعية التي نبهنا إليها في Base R؛ إذ يعتمد هذا الوسيط على التطابق الترتيبي المباشر مع مستويات المتغير العاملي المسجلة داخلياً. في حال كان المتغير غير مرتب بشكل مقصود وكان خاضعاً للترتيب الأبجدي الافتراضي، فإن تمرير متجه التسميات قد يؤدي إلى تخصيص التسمية الخاطئة للصندوق غير المقصود، مما يستوجب توظيف تقنية القوائم المسماة كضمانة برمجية لا تحتمل الخطأ.

### 7.3 استخدام القوائم المسماة لضمان دقة ربط التسميات بالفئات المعنية
تُعد القوائم أو المتجهات المسماة (Named Vectors) أرقى وأضمن تقنية برمجية تقدمها حزمة ggplot2 لتعديل تسميات المحاور الفئوية بصورة قطعية. في هذا النمط البرمجي، لا نمرر مجرد نصوص مجردة تعتمد على مواقعها في المتجه، بل نقوم بإنشاء أزواج تصريحية تتكون من “القيمة الأصلية للمستوى” مقترنة بـ “التسمية البصرية الجديدة المرغوبة” وفق الصيغة الرياضية الصريحة: (labels = c(“original_code” = “New Display Label”)).

بالتطبيق على مصفوفتنا التجريبية، تتم صياغة المتجه داخل scale_x_discrete بالهيئة التالية: labels = c(“ctrl” = “مجموعة التحكم الإكلينيكي”, “cbt” = “العلاج المعرفي السلوكي”, “comb” = “العلاج الدوائي والاسترخائي”). عند معالجة هذا المتجه، يقوم محرك ggplot2 بمطابقة كل مفتاح أصلي بقيمته النصية المقابلة بصرف النظر التام عن ترتيب كتابة العناصر في الكود أو ترتيب ظهور الفئات على المحور. هذا يعني أنه حتى لو كُتبت الفئة “comb” أولاً في الكود، فإن التسمية ستذهب حصراً إلى الصندوق الذي يمثل بيانات العلاج المدمج أينما كان موقعه الهندسي.

تزداد القيمة المنهجية لهذا النهج عند التعامل مع مجموعات بيانات فرعية (Subsets)؛ كأن يقرر الباحث استبعاد مجموعة معينة مؤقتاً من الرسم، أو عند التعامل مع متغيرات ذات مستويات متعددة قد يطرأ عليها تعديل مستقبلي. تضمن القوائم المسماة الحصانة الكاملة للكود ضد أخطاء الإزاحة المكانية، وترفع من مقروئيته وصيانته الأكاديمية عند مراجعته من قِبل باحثين آخرين أو مشاركته كملحق منهجي مفتوح المصدر (Open Science Framework).

## 8. التحكم في تصميم وتدوير نصوص المحاور في ggplot2 لتفادي تداخل النصوص

### 8.1 تدوير التسميات وضبط المحاذاة باستخدام مكونات theme وelement_text
تتميز حزمة ggplot2 بنظام تنسيقي بالغ القوة والتعقيد يتمثل في دالة theme، المسؤولة عن التحكم في جميع المكونات غير المرتبطة بالبيانات مباشرة (Non-data Components) مثل الخطوط، والخلفيات، والحدود، وشبكات المحاور. لحل مشكلة تداخل النصوص الطويلة على المحور السيني، نلجأ إلى تعديل الخاصية axis.text.x المخصصة للنصوص التابعة لعلامات التجزئة الأفقية، وذلك بإسناد دالة التنسيق المطبعي element_text إليها.

تستقبل الدالة element_text وسيط الزاوية angle الذي يقبل قيماً بين 0 و360 درجة لتحديد انحناء النص؛ ويُعد تدوير النص بزاوية 45 درجة (angle = 45) المعيار الذهبي المفضل في النشر العلمي؛ لكونه يمنح توازناً استثنائياً يجمع بين توفير المساحة الأفقية والحفاظ على سهولة القراءة الطبيعية للعين المجردة دون الحاجة لليّ الرقبة كما يحدث عند التدوير بزاوية 90 درجة الكاملة.

غير أن تدوير النص بمفرده يحدث تشوهاً شائعاً يتمثل في توسيط النص المائل أسفل علامة التجزئة مباشرة، مما يجعل الكلمات تبدو وكأنها طافية بعيداً عن الصناديق التابعة لها. لمعالجة ذلك، يتعين إقران زاوية الدوران بضبط وسيطي المحاذاة الأفقية والرأسية: hjust (Horizontal Justification) وvjust (Vertical Justification). بتعيين hjust = 1 وvjust = 1 عند زاوية 45 درجة، ترتكز نهاية الكلمة بدقة هندسية متناهية تحت علامة التجزئة التابعة لها مباشرة، مما يربط التسمية بصرياً بالصندوق المخصص لها بكل دقة وجمال.

### 8.2 تقنيات تجنب التداخل التلقائي عبر دالة guide_axis
بدءاً من الإصدار 3.3.0 لحزمة ggplot2، تم تقديم إضافة نوعية وثورية لمعالجة تزاحم النصوص تمثلت في دالة guide_axis الممررة عبر وسيط الدليل guide داخل مقياس المحور scale_x_discrete. تتيح هذه الدالة الرائعة للباحث تجنب التدوير المائل تماماً والمحافظة على استقامة النصوص الأفقية الأنيقة بنسبة مئة بالمئة، وذلك عبر تقنية التوزيع التبادلي المتدرج للأسطر (Dodge).

يتحقق ذلك بتمرير الأمر guide = guide_axis(n.dodge = 2) داخل مقياس المحور؛ حيث يقوم محرك الرسم تلقائياً بفصل التسميات المتجاورة على مستويين رأسيين متتابعين. تُعرض التسمية الأولى في المستوى العلوي القريب من خط المحور، بينما تنزل التسمية المجاورة لها مباشرة إلى مستوى سفلي منخفض، وتعود التسمية الثالثة إلى المستوى العلوي، وهكذا في نمط تبادلي متناسق يمنع أي احتكاك أو تداخل بين الكلمات الطويلة.

يُعد هذا الخيار هو الأرقى في إعداد الرسوم البيانية الموجهة للأطروحات الجامعية والكتب المرجعية؛ إذ يحافظ على النمط الأفقي الطبيعي لقراءة اللغة (سواء من اليمين إلى اليسار في العربية أو العكس في الإنجليزية)، ويتفادى المظهر المائل الذي قد يراه بعض المحكمين غير محبب في المطبوعات الرسمية. كما يمكن رفع معامل التوزيع إلى (n.dodge = 3) في حال وجود فئات كثيرة ذات مسميات شديدة الطول، مع توفير هوامش كافية لامتصاص الامتداد الرأسي الجديد.

### 8.3 تخصيص الخصائص المطبعية: اللون، الحجم، والخط للتسميات
لا تقتصر دالة element_text على ضبط الزوايا والمحاذاة، بل تمتد لتشمل الإشراف الكامل على الطباعة البصرية للمحاور. يتيح وسيط size تحديد الحجم المطلق لخط التسميات بنقاط الطباعة (Points). في الرسوم المخصصة للنشر، يُنصح باختيار حجم يتراوح بين 10 و12 نقطة لضمان بقاء التسميات واضحة ومقروءة عند تصغير الشكل أثناء الطباعة والمونتاج النهائي في أعمدة المجلات العلمية.

كما يوفر وسيط color (أو colour) إمكانية صبغ نصوص المحاور بألوان مخصصة؛ ورغم أن اللون الأسود الخالص (“black” أو كود الهيكس “#000000”) أو الرمادي الفحمي الداكن (“#333333”) هما المعيار الصارم للأبحاث المحكمة لضمان أعلى مستويات التباين اللوني، إلا أن توظيف ألوان متناسقة مع درجات الصناديق قد يخدم أهداف العروض التقديمية التفاعلية أو الملصقات الجدارية في المؤتمرات الطبية والنفسية.

أما وسيط family، فيتيح ربط نصوص المحاور بخطوط طباعية محددة مثبتة في نظام التشغيل (مثل خط Times New Roman المعتمد في APA، أو خطوط Arial وCalibri). عند الرغبة في استخدام خطوط احترافية معقدة أو خطوط عربية تراثية وحديثة داخل بيئة R، يتعين الاستعانة بحزم إضافية متخصصة مثل showtext أو extrafont لضمان دمج ملفات الخطوط بسلاسة داخل المحرك البصري لـ ggplot2 دون تشوهات طباعية.

## 9. تغيير التسميات العامة وتعديل المحور الرأسي (Y-axis) لمخطط الصندوق

### 9.1 إضافة وتعديل التسمية الوصفية للمحور الرأسي في Base R
يكتسب المحور الرأسي (الصادي) في مخطط الصندوق أهمية مساوية للمحور الأفقي؛ فهو الذي يعلن عن المتغير التابع، والوحدة القياسية، والأداة السيكومترية المستخدمة. في الحزمة الأساسية Base R، يُعد إغفال تسمية المحور الرأسي أو تركه خالياً خطأً شائعاً يحرم الرسم من مرجعيته الرقمية. يتم ضبط هذا المحور مباشرة داخل دالة boxplot عبر المعامل المخصص ylab (اختصار Y-Label).

يمكّن هذا المعامل الباحث من كتابة تسمية وصفية محكمة تشمل اسم المتغير وأداة القياس بين قوسين، مثل: ylab = “مستوى القلق النفسي (درجات مقياس هاميلتون HAM-A)”. هذه الصياغة الدقيقة ترشد القارئ إلى النطاق الكمي المتوقع؛ مما يسمح له بتقييم الفروق الإكلينيكية بين المجموعات بناءً على المعايير المعيارية للمقياس المذكور. وبالمثل، يمكن استخدام المعامل xlab لتحديد العنوان الإجمالي الجامع للمحور السيني (مثل: xlab = “المجموعات العلاجية التجريبية”)، لتمييزه عن أسماء الفئات الفرعية الموضحة أسفل كل صندوق.

يضمن الجمع المتناسق بين xlab وylab داخل دالة boxplot في Base R إحاطة الشكل بإطار تفسيري متكامل. يجدر بالباحث الحرص على أن تتسق وحدات القياس على المحور الرأسي مع الخصائص السيكومترية الحقيقية للأداة؛ فإذا كانت الدرجات تمثل رتباً مئينية أو نسباً مئوية أو درجات تائية (T-scores)، وجب النص على ذلك صراحة في متن التسمية لتفادي أي التباس في تقييم مدى الفاعلية العلاجية.

### 9.2 استخدام دالة labs ودوال xlab وylab المخصصة في ggplot2
توفر حزمة ggplot2 بيئة شديدة المرونة والتكامل لصياغة عناوين المحاور وكافة النصوص الإيضاحية عبر دالة موحدة وشاملة هي دالة labs (اختصار Labels). تتيح هذه الدالة تحديد عنوان المحور السيني (x)، وعنوان المحور الصادي (y)، والعنوان الرئيسي للشكل (title)، والعنوان الفرعي المساعد (subtitle)، بالإضافة إلى حاشية التوثيق والملاحظات السفلية (caption) في استدعاء طبقي واحد يجمع شتات العناوين.

تتم صياغة طبقة labs بربطها بالمخطط عبر نمط إعلاني واضح:

  • x = “التصميم التجريبي ونوع التدخل”: لتوضيح طبيعة الفئات المصنفة على المحور السيني.
  • y = “درجة الأعراض العصابية (مقياس 0 – 60)”: لتبيان ماهية المتغير التابع وحدود المقياس.
  • title = “مقارنة فاعلية التدخلات المعرفية والدوائية في خفض حدة القلق”: لتقديم فكرة مركزية مكثفة عن موضوع الشكل.
  • caption = “البيانات تمثل عينة عشوائية تجريبية (N = 120)؛ الخط الداخلي يمثل الوسيط الإحصائي.”: لتوثيق المصدر وتوضيح معالم الصندوق وفق اشتراطات التوثيق.

بالإضافة إلى دالة labs، توفر حزمة ggplot2 دوالاً فرعية سريعة مثل xlab() وylab()، إلا أن استخدام labs يظل الخيار الأفضل والأنضج منهجياً؛ نظراً لجمعه كافة المدخلات البصرية في مكان واحد، مما يمنع تشتت الأكواد البرمجية ويسهل عمليات التعديل والترجمة والمراجعة النصية عبر كامل مراحل البحث.

### 9.3 تعديل هوامش وعلامات التجزئة في المحور الصادي لضمان التناسق
لا تكتمل صياغة المحور الرأسي بمجرد كتابة عنوانه، بل تتطلب ضبطاً دقيقاً لعلامات التجزئة (Breaks) ونطاق الامتداد الكلي (Limits) عبر دالة scale_y_continuous. في كثير من الحالات، يقوم المحرك الرسومي بتوليد فواصل رقمية عشوائية أو متباعدة لا تعكس التقسيمات المعيارية للأداة السيكومترية. باستخدام وسيط breaks، يمكن تحديد تدريج المحور الرأسي بدقة، كأن نحدد قفزات منتظمة كل 10 درجات: breaks = seq(0, 60, by = 10).

أما وسيط limits، فيسمح بالتحكم الصارم في بداية ونهاية المحور الرأسي (limits = c(0, 65)). يجب هنا التنبيه إلى محذور إحصائي بالغ الخطورة في ggplot2؛ فتحديد حدود تضيق عن النطاق الفعلي للبيانات يؤدي إلى حذف القيم المتطرفة وحذف الصناديق التابعة لها بالكامل من الحسابات الإحصائية، مما يشوه المخطط ويزيف النتائج. لتفادي حذف البيانات مع الرغبة في تكبير مساحة بصرية معينة، يجب اللجوء إلى التكبير التنسيقي عبر coord_cartesian(ylim = c(min, max)) بدلاً من تضييق limits في مقياس المحور.

كما يوفر المعامل expand داخل scale_y_continuous وسيلة للتحكم في المسافة البيضاء الفاصلة بين الصناديق وخطوط الإطار الرسومي. بضبط هذا الوسيط، يضمن الباحث عدم التصاق حواف الصناديق أو السواعد بالحدود الدنيا أو القصوى للوحة، مما يمنح المخطط تنفساً بصرياً وتناسقاً مريحاً يعزز من المظهر الاحترافي للشكل البياني عند الطباعة.

## 10. معالجة الحالات المعقدة: النصوص متعددة الأسطر والرموز الرياضية والمحارف اليونانية

### 10.1 إدراج فواصل الأسطر (n) لإنشاء تسميات مقسمة بذكاء
تمثل التسميات الوصفية الطويلة تحدياً كبيراً حتى مع استخدام تقنيات التدوير المائل؛ إذ قد تستهلك مساحة عمودية ضخمة تقتطع من المساحة الفعلية المخصصة للصناديق الإحصائية ذاتها. يتمثل الحل الأكثر أناقة وذكاءً لمعالجة هذا التحدي في تقسيم السلسلة النصية يدوياً إلى سطرين أو ثلاثة أسطر متوازنة، وذلك من خلال إدراج محرف سطر التغذية والفاصل السطري القياسي (n) في المواقع البلاغية المناسبة داخل النص.

عند كتابة التسمية بالصيغة: “العلاج المعرفي السلوكيnالمكثف (جلسات أسبوعية)”، يقوم محرك الرسم في Base R أو ggplot2 بكسر العبارة عمودياً عند موضع الرمز، عارضاً الشطر الأول في السطر الأعلى والشطر الثاني أسفله مباشرة، مع الاحتفاظ بالتوسيط الأفقي التلقائي تحت علامة التجزئة. هذا التوزيع يحافظ على العرض الأفقي الكلي للتسمية ضمن حدود ضيقة، ويحول دون تداخلها مع المجموعات المجاورة دون الحاجة الماسة لتدوير الحروف.

تتجلى الفائدة المنهجية القصوى لهذه التقنية عند تضمين أحجام العينات الفرعية داخل تسمية كل مجموعة على حدة؛ كأن تُصاغ التسميات بالهيئة المعيارية: “مجموعة التحكمn(n = 40)” و”العلاج السلوكيn(n = 40)”. هذه الصياغة المركبة تقدم للقارئ والمحكم الإحصائي معلومة متكاملة تجمع بين الهوية التجريبية والقوة الإحصائية للعينة الفرعية في موضع واحد شديد التكثيف والوضوح، وهو ما يتوافق كلياً مع متطلبات الشفافية في تقارير البحوث التجريبية.

### 10.2 كتابة التعابير الرياضية والمحارف الإحصائية بواسطة الدالة expression في Base R
في الأبحاث النفسية المتقدمة ودراسات القياس السيكومتري، يحتاج الباحث مراراً إلى تضمين محارف إحصائية متخصصة ورموز رياضية دقيقة ضمن تسميات المحاور؛ مثل الحروف اليونانية المستخدمة للتعبير عن المعالم المجتمعية (كالمتوسط المرجعي $\mu$، أو معامل الارتباط $rho$، أو خطأ القياس $epsilon$)، أو الرموز الدالة على التباين والدرجات المربعة ($\sigma^2$). في الحزمة الأساسية لـ R، لا يمكن إدراج هذه الرموز كنصوص عادية، بل يتطلب الأمر استخدام الدالة المتخصصة expression مقترنة بمحرك المعادلات الإحصائية plotmath.

تتيح دالة expression كتابة تراكيب رمزية تُترجم بصرياً إلى معادلات متناسقة؛ فعلى سبيل المثال، لكتابة تسمية تتضمن رمز المتوسط المجتمعي والانحراف، نمرر للدالة تركيباً بالصيغة:
expression(group_1 == mu[0], group_2 == bar(X)).
يقوم المحرك الرسومي بتحويل كلمة “mu” فورياً إلى الحرف الإغريقي الصغير $\mu$، وتحويل التركيب “bar(X)” إلى حرف X تعلوه الشرطة الأفقية القياسية للمتوسط الحسابي، مع وضع الأرقام في مواضع الرموز السفلية (Subscripts) بدقة متناهية.

كما يدعم هذا المحرك الصيغ الكسرية والأسية المعقدة لتسميات وحدات القياس الفيزيولوجية العصبية المرافقة للدراسات السلوكية، كقياسات الموصلية الجلدية أو مستويات الكورتيزول بالدم عبر الزمن ($\mu\text{g/dL}$). إن استخدام expression يضمن إخراج هذه المعادلات بجودة طباعية نقية تتطابق مع مخرجات نظم التنضيد المتقدمة مثل LaTeX، مما يرتقي بالورقة البحثية إلى أعلى مراتب الضبط الرياضي.

### 10.3 دمج الصيغ الرياضية والنصوص المتقدمة في ggplot2 عبر bquote وparse
تواجه الباحثين في بيئة ggplot2 صعوبة متكررة عند الرغبة في دمج نص وصفي متغير مستمد من قيم التحليل الإحصائي الحسابية مع صيغة رياضية في آن واحد؛ إذ تفشل دالة expression في استيعاب المتغيرات الديناميكية المتغيرة تلقائياً. للتغلب على هذا القيد، توفر بيئة R الدالة التعبيرية المتقدمة bquote، والتي تتيح كتابة نصوص مختلطة تستخدم علامة التغليف .(var) لإسقاط القيم المتغيرة داخل الصيغ الرياضية الجامدة.

على سبيل المثال، إذا رغبنا في صياغة تسمية للمحور تتضمن قيمة معامل حجم الأثر الفعلي (Cohen’s d) المحسوب مسبقاً، يمكننا توظيف bquote لصياغة العبارة بحيث تدمج الحرف الإغريقي أو الرمز اللاتيني المائل مع القيمة الرقمية الناتجة بدقة متناهية. كما تتيح حزمة ggplot2 تفعيل المعامل parse = TRUE داخل دوال المقاييس وتنسيقات النصوص، وهو ما يوجه المحرك البصري لتفسير السلسلة النصية كصيغة plotmath رياضية وليست مجرد أحرف أبجدية جامدة.

إن تصدير هذه الرموز المتقدمة من بيئة R إلى ملفات المخرجات النهائية يتطلب عناية فائقة باختيار التنسيق الرسومي المناسب؛ إذ يُنصح دائماً بتصدير الأشكال بصيغ المتجهات الرسومية القابلة للتحجيم مثل PDF أو SVG أو صيغ النقط عالية الدقة المحكومة بمحرك Cairo (مثل cairo_pdf وCairoPNG). هذا الإجراء التقني يضمن عدم تكسر الخطوط أو تشوه الحروف اليونانية والرموز الرياضية عند تكبير الشكل أو مراجعته في برامج المونتاج الطباعي لدور النشر العالمية.

## 11. استكشاف الأخطاء الشائعة وحلولها البرمجية أثناء تعديل تسميات المحاور

### 11.1 خطأ عدم تطابق أطوال المتجهات النصية والبيانية
يُعد خطأ عدم تطابق الأطوال بين متجهات التسميات وعدد الفئات الفعلية في مجموعة البيانات (Length Mismatch Error) أحد أكثر المزالق البرمجية حدوثاً في لغة R. يظهر هذا الخطأ جلياً عندما يقوم الباحث بتمرير متجه نصي عبر المعامل names في Base R أو المعامل labels في ggplot2 يحتوي على عدد عناصر يقل أو يزيد عن عدد الصناديق المرسومة في المخطط البياني.

في البيئة الأساسية Base R، لا يقوم النظام دائماً بإيقاف الكود عند حدوث هذا الخلل، بل قد يلجأ إلى سلوك برمجي خطير يُعرف بـ “إعادة التدوير العشوائي للمتجهات” (Vector Recycling)، حيث يكرر التسميات الأولى لملء الفراغات المتبقية، أو يسقط التسميات الزائدة بصمت دون تنبيه صارم. يؤدي هذا السلوك إلى نسب مسميات خاطئة للمجموعات التجريبية دون أن يدرك الباحث ذلك بصرياً في الوهلة الأولى، وهو ما يمثل تهديداً مباشراً للموثوقية التحليلية للبحث.

لمنع هذا الانزلاق المنهجي برمجياً، يتعين تطبيق استراتيجيات “البرمجة الدفاعية” (Defensive Programming)؛ وذلك بإدراج سطر تحققي يسبق أمر الرسم يقارن بصورة آلية بين طول متجه التسميات المقترح وعدد المستويات أو الأعمدة في البيانات:
stopifnot(length(my_labels) == ncol(df)).
تضمن هذه التعليمة البرمجية إيقاف التنفيذ فوراً وإطلاق رسالة خطأ واضحة في حال وجود أي تباين في الأطوال، مما يلزم المحلل بالتحقق من اكتمال عناصره وتوافقها العددي التام قبل الشروع في بناء الشكل.

### 11.2 فقدان أو تشويه التسميات الأصلية بسبب ترتيب الفئات غير المضبوط
تنشأ مشكلة تشويه وتداخل التسميات في بيئة ggplot2 غالباً عند الاعتماد على تمرير متجهات نصية غير مسماة (Unnamed Vectors) إلى الدالة scale_x_discrete مع وجود خلفية غير منضبطة لترتيب مستويات المتغير العاملي. فكما أشرنا سابقاً، إذا كانت المستويات الأصلية خاضعة للترتيب الأبجدي الافتراضي وكان متجه التسميات مكتوباً وفق الترتيب المنطقي للتجربة، فسيحدث تباين موضعي يؤدي إلى إسقاط التسمية الصحيحة على البيانات الخاطئة.

يتفاقم هذا التحدي بصورة خاصة عند تطبيق فلاتر استبعاد على البيانات (Data Filtering)؛ كأن يستبعد الباحث مشاركي إحدى المجموعات لمخالفتهم المعايير الإكلينيكية، مع بقاء متجه التسميات ثابتاً كما هو. في هذه الحالة، يتناقص عدد الفئات المعروضة في الرسم بينما يظل المتجه التسموي بطوله القديم، مما يحدث إزاحة وتشوهاً كاملاً في هوية الصناديق المتبقية على المحور السيني.

الحل المنهجي الصارم لهذه المشكلة يعتمد على ركيزتين: أولاً، تحويل المتغيرات التصنيفية دائماً إلى عوامل محددة الترتيب صراحة (Ordered Factors) باستخدام دالة factor مع ضبط وسيط levels قبل تمرير البيانات للرسم؛ وثانياً، الامتناع التام عن استخدام المتجهات الموضعية المجردة في المشاريع الحساسة، والاستعاضة عنها بالمتجهات المسماة (Named Vectors) التي تضمن الارتباط الشرطي الوثيق بين كود المجموعة الأصلي وتسميتها الظاهرة أينما دارت وتغيرت مواقع البيانات.

### 11.3 مشاكل ترميز الأحرف واللغة العربية على المحاور البيانية في بيئة RStudio
يمثل التعامل مع النصوص المكتوبة باللغة العربية على محاور الرسوم البيانية في لغة R تحدياً تقنياً معقداً؛ نظراً لأن المحركات الرسومية الافتراضية في R (مثل برمجيات Windows GDI الافتراضية) مصممة أصلاً للتعامل مع النصوص اللاتينية أحادية الاتجاه (Left-to-Right). يترتب على ذلك ظهور الحروف العربية مقطعة، أو معكوسة الترتيب من اليسار إلى اليمين، أو ظهور مربعات ورموز غير مفهومة ناجمة عن فشل ترميز النصوص في قراءة صيغ UTF-8 العربية القياسية.

للتغلب الجذري على هذه المعضلة وتحقيق مخرجات عربية فائقة الدقة والجمال، يجب الاعتماد على حزمة showtext المتخصصة في ترويض الخطوط داخل المحركات البصرية لـ R. تتيح هذه الحزمة استدعاء أي خط عربي حديث (مثل خطوط Amiri أو Cairo أو Noto Sans Arabic) من مستودعات خطوط Google أو من النظام المحلي وتفعيله تلقائياً داخل لوحات ggplot2 عبر تفعيل الأمر font_add_google متبوعاً بتشغيل محرك المعالجة عبر showtext_auto().

بالإضافة إلى ذلك، يُنصح بشدة بتوجيه مخرجات الرسوم إلى محركات تصديرية تدعم النصوص ثنائية الاتجاه (Bidirectional Text) مثل حزمة ragg أو استخدام أجهزة التصدير المبنية على مكتبة Cairo الحديثة (CairoPNG أو CairoPDF). تقوم هذه المحركات المتقدمة بتصيير الكلمات العربية كوحدات بصرية متصلة ومتناسقة، مع ضبط المحاذاة واتجاه الحروف بدقة لا تشوبها شائبة، مما يتيح للباحثين العرب إنتاج مخططات إحصائية وطنية رصينة تنافس المخرجات العالمية في جودتها الطباعية.

## 12. أفضل الممارسات المنهجية لتصميم ونشر مخططات الصندوق وفق معايير APA

### 12.1 القواعد التوجيهية للجمعية الأمريكية لعلم النفس (APA 7) للرسوم الإحصائية
يضع الإصدار السابع من دليل النشر للجمعية الأمريكية لعلم النفس (APA Publication Manual, 7th Edition) معايير بصرية دقيقة تهدف إلى تجريد الأشكال الإحصائية من الزخارف غير الضرورية والتركيز المطلق على نقل الحقيقة الرقمية بأقصى درجات الوضوح والحياد. تنص هذه القواعد على تجنب الخلفيات الداكنة أو الملونة، والامتناع عن استخدام المؤثرات ثلاثية الأبعاد (3D Effects) التي تضلل الإدراك البصري لحجوم الصناديق ومواقع الوسيط، والاكتفاء بالخطوط الواضحة والتباين العالي الذي يتيح تمييز المكونات في المطبوعات أحادية اللون (Grayscale).

فيما يخص تسميات المحاور، يشترط دليل APA كتابة عناوين المحاور بأسلوب التسمية القياسي المتناسق (Sentence Case أو Title Case)، مع استخدام خطوط واضحة وخالية من التذييلات (Sans-serif) مثل Arial بمقاس يتراوح بين 8 و14 نقطة، بحيث تتناسب أحجام النصوص طردياً مع حجم الشكل الإجمالي دون تضخيم مبالغ فيه أو تصغير مخل. كما تفرض المعايير إدراج وحدات القياس بوضوح قاطع بين قوسين بجوار عنوان المحور الرأسي دائماً.

من المتطلبات الجوهرية أيضاً كتابة حاشية إيضاحية تفصيلية (Figure Note) أسفل الشكل، تبدأ بكلمة Note بخط مائل، تتولى شرح وتفكيك كافة الاختصارات والتسميات الواردة على المحاور، وتوضح للقارئ المدلول الرياضي للسواعد والنقاط المتطرفة (مثل: “تمثل السواعد أدنى وأعلى قيمة تقع ضمن 1.5 ضعف المدى الربيعي؛ النقاط تمثل الحالات المتطرفة”). هذا التكامل بين العنوان، وتسميات المحاور، والحاشية السفلية، يجعل الشكل البياني وحدة معرفية مستقلة تفي بكافة متطلبات الرصانة الأكاديمية.

### 12.2 تطبيق نمط theme_classic() وtheme_minimal() لتجريد المخطط من العناصر الزائدة
لترجمة معايير APA بمرونة وأناقة داخل حزمة ggplot2، يتعين التخلي عن النمط الافتراضي للحزمة (theme_grey) الذي يتميز بخلفية رمادية وشبكات بيضاء قد يراها المحكمون مشتتة للانتباه. بدلاً من ذلك، يوفر الانتقال إلى نمط theme_classic() أو نمط theme_minimal() نقطة انطلاق مثالية لتأسيس شكل يتوافق بسلاسة مع التنسيق الطباعي للمجلات العلمية العالمية.

يقوم النمط theme_classic() بإزالة كافة الخطوط الشبكية الداخلية (Gridlines) وتجريد الخلفية لتصبح بيضاء نقية تماماً، مع إبراز خطي المحورين السيني والصادي باللون الأسود المتين وعلامات التجزئة المنسقة. هذا التجريد البصري يبرز صناديق البيانات ويجعل حدودها وسواعدها هي مركز الجذب البصري الوحيد، مما يسهل على القارئ المقارنة الفورية لارتفاعات الصناديق ومستويات الوسيط دون أي ضوضاء خلفية.

يمكن للباحث بعد تطبيق theme_classic() إجراء لمسات مخصصة باستخدام دالة theme لضبط أوزان خطوط المحاور ومسافاتها البينية؛ كأن يُلغي خطوط الصناديق المحيطة بالشكل ويكتفي بخطي الإحداثيات فقط، مع توسيع المسافة البينية الفاصلة بين تسميات المحاور وعلامات التجزئة عبر وسيط margin التابع لـ element_text. هذا التنسيق المتزن يمنح المخطط سمتاً احترافياً رفيعاً يتطابق كلياً مع المظهر الجمالي المعتمد في كبريات الدوريات النفسية والطبية مثل Nature وLancet ومجلات APA.

### 12.3 مقارنة شاملة واختيار الطريقة الأنسب بين Base R وggplot2 للمشاريع البحثية
يقف باحث البيانات الإحصائية غالباً في مفترق طرق عند الاختيار بين الاستمرار في بيئة الحزمة الأساسية Base R أو الاستثمار في بناء مخرجاته عبر حزمة ggplot2 المتقدمة. لا يوجد خيار مطلق الأفضلية في جميع الظروف؛ بل يخضع القرار لطبيعة المرحلة البحثية، وحجم المشروع، والغاية النهائية من الرسم البياني المعني.

تتألق الحزمة الأساسية Base R في مراحل “الاستكشاف الأولي للبيانات” (Exploratory Data Analysis – EDA)؛ فإذا كان الباحث يجلس في مختبره ويرغب في فحص توزيع مصفوفة سريعة تتضمن 10 متغيرات للتحقق من القيم الشاذة وشكل التوزيع قبل اتخاذ قرارات النمذجة، فإن كتابة أمر بسيط ومباشر مثل boxplot(df, names = …) يوفر النتيجة في أجزاء من الثانية ودون الحاجة لأي حزم وسيطة أو تحويلات هيكلية مطولة. كما تبرز Base R كخيار ممتاز للتدريس السريع والبرامج النصية البسيطة التي تتطلب خفة في التشغيل واكتفاءً ذاتياً كاملاً.

في المقابل، تمثل منظومة ggplot2 الخيار الأوحد الذي لا بديل عنه عند الانتقال إلى مرحلة “العرض والتواصل العلمي النهائي” (Explanatory Visualization & Publication). إن قدرتها الفائقة على إدارة الطبقات المعقدة، والتحكم المطلق في أدق تفاصيل المحاور المطبعية، ودمج المتجهات المسماة، وتطبيق فلسفة “البيانات المرتبة”، وإمكانية تفريع الألواح وتوليد الرسوم الشبكية المركبة، تجعلها الاستثمار الأكاديمي الأكثر جدوى واستدامة للمشاريع البحثية الكبيرة والأطروحات العلمية المتقدمة التي تتطلب مخرجات تتطابق بدقة هندسية مع أرفع معايير النشر الدولية.

## خاتمة
لقد استعرض هذا الدليل الموسع الأبعاد المنهجية والتطبيقية لتخصيص وتعديل تسميات محاور مخطط الصندوق (Boxplot) في بيئة لغة البرمجة الإحصائية R، رابطاً بين المفهوم الإحصائي السيكومتري للمتغيرات ومتطلبات التمثيل البصري الاحترافي. وقد تبين لنا جلياً أن تسميات المحاور ليست تفصيلاً تجميلياً هامشياً، بل هي الركيزة المعرفية التي تحول الأشكال الرقمية الصامتة إلى حقائق إكلينيكية وعلمية قابلة للتفسير والمساءلة والتعميم المنهجي.

بدأنا رحلتنا التحليلية بتشريح المخطط في الحزمة الأساسية (Base R)، حيث استكشفنا استخدام المعامل names، وتناولنا أساليب تدوير النصوص عبر las، وإدارة هوامش اللوحة البيانية عبر par(mar). ثم انتقلنا إلى عالم منظومة ggplot2 الحديثة، متتبعين التحول المنهجي للبيانات نحو التنسيق الطولي (Long Format)، وكيفية إعادة صياغة العوامل ومستوياتها (Factors & Levels) لضبط الترتيب والتسمية من الجذور. كما فككنا المزايا المتقدمة لمقاييس المتغيرات المنفصلة عبر scale_x_discrete والقوائم المسماة، وصولاً إلى إتقان التدوير والمحاذاة والطباعة المزدوجة التلقائية لتفادي التداخل، وضبط المحور الرأسي وعلامات التجزئة بما يحفظ سلامة القيم الإحصائية المتطرفة.

كما قدم الدليل معالجات متقدمة للإشكاليات المعقدة؛ من كسر الأسطر الذكي (n) لتضمين أحجام العينات، إلى كتابة الصيغ الرياضية والمحارف اليونانية عبر expression وplotmath وbquote، مع تقديم حلول جذرية لمعالجة تشوهات الخط العربي وضمان استقراره عبر حزم تصيير متقدمة. واختُتم العمل ببلورة أفضل الممارسات المعتمدة في دليل الجمعية الأمريكية لعلم النفس (APA 7th Edition)، وتجريد الأشكال لتتكامل مع المعايير الدولية للنشر. إن امتلاك الباحث لهذه الأدوات البرمجية يمنحه سلطة كاملة على بياناته، مما يضمن خروج رسومه البيانية بأعلى درجات الدقة الإحصائية والأناقة البصرية التي تخدم تقدم العلوم وتدعم موثوقية المعرفة المكتشفة.

## المراجع

  • American Psychological Association. (2020). Publication manual of the American Psychological Association (7th ed.). American Psychological Association. https://doi.org/10.1037/0000165-000
  • Field, A., Miles, J., & Field, Z. (2012). Discovering statistics using R. SAGE Publications.
  • Murrell, P. (2018). R graphics (3rd ed.). Chapman and Hall/CRC. https://doi.org/10.1201/9780429447471
  • R Core Team. (2023). R: A language and environment for statistical computing. R Foundation for Statistical Computing. https://www.R-project.org/
  • Tukey, J. W. (1977). Exploratory data analysis. Addison-Wesley.
  • Wickham, H. (2014). Tidy data. Journal of Statistical Software, 59(10), 1–23. https://doi.org/10.18637/jss.v059.i10
  • Wickham, H. (2016). ggplot2: Elegant graphics for data analysis (2nd ed.). Springer-Verlag. https://doi.org/10.1007/978-3-319-24277-4
  • Wickham, H., Çetinkaya-Rundel, M., & Grolemund, G. (2023). R for data science (2nd ed.). O’Reilly Media.
  • Wilkinson, L. (2005). The grammar of graphics (2nd ed.). Springer-Verlag. https://doi.org/10.1007/0-387-28695-0

اقتباس هذا المقال

looti, M. (2026, سبتمبر 5). كيفية تغيير تسميات محاور مخطط الصندوق في R (مع أمثلة). عرب سايكلوجي. https://arabpsychology.com/statistics/how-to-change-axis-labels-of-boxplot-in-r-examples/
looti, Mohammed. “كيفية تغيير تسميات محاور مخطط الصندوق في R (مع أمثلة).” عرب سايكلوجي, 5 سبتمبر 2026, https://arabpsychology.com/statistics/how-to-change-axis-labels-of-boxplot-in-r-examples/.
looti, Mohammed. “كيفية تغيير تسميات محاور مخطط الصندوق في R (مع أمثلة).” عرب سايكلوجي. سبتمبر 5, 2026. https://arabpsychology.com/statistics/how-to-change-axis-labels-of-boxplot-in-r-examples/.