ملاحظة أرجو عدم الإنزعاج بالأحرف الأنجليزية في نص العناوين، أضيفت لأسباب تقنية فقط لربط العنوان مع قائمة المحتويات


السلام عليكم ✋🏼
في هالشرح المُبسط والمتواضع نقدم نبذة عن النقاط البيانية وحزم البيانات وكيف نتعامل معها

تعريفات برمجية مستخدمة في هذا الشرح

  1. الدالة
  1. المتغير

a تبسيط النقاط البيانية ومفهوم الإحداثيات الديكارتية

النقاط البيانية Data Points هي من أهم مبادئ البرمجة الإحصائية (بل هو أساسها في كثير من الحالات) فلا بد في البداية أن نعرف ما هي وكيف نمثلها ونتعامل معها عن طريق لغة البرمجة الإحصائية

aa مقدمة لنقطة بيانية على نظام الإحداثيات

يمكننا تمثيل أي نقطة على سطح ما (سطح الأرض مثلاً) من خلال رقمين، الأول يحدد موقع النقطة بالنسبة للمحور العمودي عادة يسمى محور س والثاني يحدد موقع النقطة بالنسبة للمحور الأفقي عادة يسمى محور ص

مثلاً النقطة (٥ , ٤) تعني ان قيمتها على محور س هو ٥ وقيمتها على محور ص هو ٤ طبعاً لابد ان نعرف نقطة البداية مسبقاً اللي هي صفر على كل محور

تفصيل اكثر عن نظام الإحداثيات الديكارتية على هالرابط

المهم ،، نجي للمهم

b التعامل مع النقاط البيانية باستخدام لغة آر

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

في لغة آر يمكن تمثيل (او رسم) النقطة (٥, ٤) من خلال تخزين (حفظ) قيمة النقطة على كل محور في متغير (برمجي), كالتالي

x <- 5 
y <- 4 

هالسطرين اللي فوق معناتهم، اننا عرفنا متغير برمجي اكس وقيمته هي ٥، ومتغير برمجي اخر واي وقيمته هي ٤

#  من الآن فصاعدا نستطيع استخدام المتغيرات البرمجية لحفظ قيمة أو قيم أية نقاط بيانية

ملاحظة سأستخدم تعليقات توضيحية في داخل سطور الأكواد وهي السطور التي تبدأ بـ هاش تاق ومكتوبة بالعربي هذه ليست جزء من الكود وانما مجرد تعليق

# لاحظ طريقة تعريف المتغيرات
# x <- 5 
# نوعا ما مختلفة عن الطريقة المتعارف عليها في لغات البرمجة الأخرى
# x = 5
# عموما كلا الطريقتان  متكافئة ومشروعة في لغة ار
# لمعرفة القيمة المخزنة في متغيراً ما
# كل ماعلينا هو كتابة اسمه سيتم طباعة قيمته في المخرجات كالتالي
x
## [1] 5
y
## [1] 4

الآن، نستطيع تمثيل ( رسم أو مشاهدة) تلك النقطة على نظام الإحداثيات ( آنف الذكر وطيب الثرى) كالتالي

plot(x, y)

#  من الآن فصاعدا نستطيع استخدام هذه الدالة لتمثيل أي نقاط بيانية علي النظام الديكارتي

الان تخيل انه (بدل النقطة الواحدة) لدينا ثلاث نقاط (٢,٣) و (-١, ٤) و (٨, ٥) يعني ثلاث قيم (ارقام) على محور س ومثلها على محور ص كالسابق، نستطيع تمثيل هذه النقاط الثلاث من خلال حفظ قيم النقاط على كل محور، تذكَر لدينا محورين س و ص ولكن مع ثلاث قيم (نقاط) لكل محور اذاً المهمة تبدو سهلة، نريد متغير (برمجي) واحد لكل محور، و كل متغير يحتوي على ثلاثة قيم (ارقام)، كالتالي

x <- c(3, -1, 8)
y <- c(2, 4, 8)

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

# بنفس الطريقة السابقة، لمعرفة قيمة المتغير البرمجي او المصفوفة 
# نكتب اسمها 
x
## [1]  3 -1  8
y
## [1] 2 4 8
# ايضاً بنفس طريقة التمثيل السابقة
# يمكننا تمثيل هذه النقاط على السطح الديكارتي كالتالي
plot(x, y, col = "red") 

# لاحظ الاضافة البسيطة لتغيير لون النقاط على السطح 
# مثال أخر مع مجموعة اكبر من النقاط  المدخلة عشوائياً
x = c(4, 10, 6, 8, 20, 18, 3, 4, 7)
y = c(13, 12, 4, 1, 8, 9, 20, 3, 2)
x
## [1]  4 10  6  8 20 18  3  4  7
y
## [1] 13 12  4  1  8  9 20  3  2
# ايضا نمثلها على السطح الديكارتي كالتالي
plot(x, y, main="Random Data Points")