|
4 weeks ago | |
---|---|---|
.. | ||
README.md | 4 weeks ago |
README.md
تصور النسب
![]() |
---|
تصور النسب - رسم توضيحي بواسطة @nitya |
في هذه الدرس، ستستخدم مجموعة بيانات تركز على الطبيعة لتصور النسب، مثل عدد الأنواع المختلفة من الفطريات التي تظهر في مجموعة بيانات عن الفطر. دعونا نستكشف هذه الفطريات المثيرة باستخدام مجموعة بيانات مأخوذة من Audubon تحتوي على تفاصيل حول 23 نوعًا من الفطر ذو الخياشيم في عائلتي Agaricus وLepiota. ستجرب تصورات شهية مثل:
- مخططات دائرية 🥧
- مخططات دونات 🍩
- مخططات وافل 🧇
💡 مشروع مثير للاهتمام يسمى Charticulator من Microsoft Research يقدم واجهة مجانية تعتمد على السحب والإفلات لتصور البيانات. في أحد دروسهم التعليمية، يستخدمون أيضًا مجموعة بيانات الفطر هذه! لذا يمكنك استكشاف البيانات وتعلم المكتبة في نفس الوقت: درس Charticulator.
اختبار ما قبل المحاضرة
تعرف على الفطر الخاص بك 🍄
الفطر مثير جدًا للاهتمام. دعونا نستورد مجموعة بيانات لدراسته:
mushrooms = read.csv('../../data/mushrooms.csv')
head(mushrooms)
يتم طباعة جدول يحتوي على بيانات رائعة للتحليل:
الفئة | شكل القبعة | سطح القبعة | لون القبعة | كدمات | الرائحة | ارتباط الخياشيم | تباعد الخياشيم | حجم الخياشيم | لون الخياشيم | شكل الساق | جذر الساق | سطح الساق فوق الحلقة | سطح الساق تحت الحلقة | لون الساق فوق الحلقة | لون الساق تحت الحلقة | نوع الحجاب | لون الحجاب | عدد الحلقات | نوع الحلقة | لون طباعة الأبواغ | السكان | الموطن |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
سام | محدب | أملس | بني | كدمات | نفاذ | حر | قريب | ضيق | أسود | متسع | متساوي | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | معلق | أسود | متناثر | حضري |
صالح للأكل | محدب | أملس | أصفر | كدمات | لوزي | حر | قريب | واسع | أسود | متسع | مضرب | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | معلق | بني | كثير | أعشاب |
صالح للأكل | جرس | أملس | أبيض | كدمات | يانسون | حر | قريب | واسع | بني | متسع | مضرب | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | معلق | بني | كثير | مروج |
سام | محدب | قشري | أبيض | كدمات | نفاذ | حر | قريب | ضيق | بني | متسع | متساوي | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | معلق | أسود | متناثر | حضري |
صالح للأكل | محدب | أملس | أخضر | بدون كدمات | لا شيء | حر | مزدحم | واسع | أسود | مدبب | متساوي | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | زائل | بني | وفير | أعشاب |
صالح للأكل | محدب | قشري | أصفر | كدمات | لوزي | حر | قريب | واسع | بني | متسع | مضرب | أملس | أملس | أبيض | أبيض | جزئي | أبيض | واحد | معلق | أسود | كثير | أعشاب |
على الفور، تلاحظ أن جميع البيانات نصية. ستحتاج إلى تحويل هذه البيانات لتتمكن من استخدامها في مخطط. في الواقع، معظم البيانات ممثلة ككائن:
names(mushrooms)
الناتج هو:
[1] "class" "cap.shape"
[3] "cap.surface" "cap.color"
[5] "bruises" "odor"
[7] "gill.attachment" "gill.spacing"
[9] "gill.size" "gill.color"
[11] "stalk.shape" "stalk.root"
[13] "stalk.surface.above.ring" "stalk.surface.below.ring"
[15] "stalk.color.above.ring" "stalk.color.below.ring"
[17] "veil.type" "veil.color"
[19] "ring.number" "ring.type"
[21] "spore.print.color" "population"
[23] "habitat"
خذ هذه البيانات وحوّل العمود 'الفئة' إلى فئة:
library(dplyr)
grouped=mushrooms %>%
group_by(class) %>%
summarise(count=n())
الآن، إذا قمت بطباعة بيانات الفطر، يمكنك رؤية أنها تم تجميعها في فئات وفقًا لفئة السام/الصالح للأكل:
View(grouped)
الفئة | العدد |
---|---|
صالح للأكل | 4208 |
سام | 3916 |
إذا اتبعت الترتيب المقدم في هذا الجدول لإنشاء تسميات فئة الفئة، يمكنك إنشاء مخطط دائري.
دائري!
pie(grouped$count,grouped$class, main="Edible?")
ها هو، مخطط دائري يظهر نسب هذه البيانات وفقًا لهاتين الفئتين من الفطر. من المهم جدًا الحصول على ترتيب التسميات بشكل صحيح، خاصة هنا، لذا تأكد من التحقق من الترتيب الذي يتم بناء مصفوفة التسميات به!
دونات!
مخطط دائري أكثر إثارة بصريًا هو مخطط دونات، وهو مخطط دائري مع ثقب في المنتصف. دعونا نلقي نظرة على بياناتنا باستخدام هذه الطريقة.
ألقِ نظرة على الموائل المختلفة حيث ينمو الفطر:
library(dplyr)
habitat=mushrooms %>%
group_by(habitat) %>%
summarise(count=n())
View(habitat)
الناتج هو:
الموطن | العدد |
---|---|
أعشاب | 2148 |
أوراق | 832 |
مروج | 292 |
مسارات | 1144 |
حضري | 368 |
نفايات | 192 |
خشب | 3148 |
هنا، تقوم بتجميع بياناتك حسب الموطن. هناك 7 موائل مدرجة، لذا استخدمها كتسميات لمخطط الدونات الخاص بك:
library(ggplot2)
library(webr)
PieDonut(habitat, aes(habitat, count=count))
يستخدم هذا الكود المكتبتين - ggplot2 وwebr. باستخدام وظيفة PieDonut من مكتبة webr، يمكننا إنشاء مخطط دونات بسهولة!
يمكن أيضًا إنشاء مخططات دونات في R باستخدام مكتبة ggplot2 فقط. يمكنك معرفة المزيد عنها هنا وتجربتها بنفسك.
الآن بعد أن تعرفت على كيفية تجميع بياناتك ثم عرضها كمخطط دائري أو دونات، يمكنك استكشاف أنواع أخرى من المخططات. جرب مخطط وافل، وهو مجرد طريقة مختلفة لاستكشاف الكمية.
وافل!
مخطط من نوع 'وافل' هو طريقة مختلفة لتصور الكميات كمصفوفة ثنائية الأبعاد من المربعات. جرب تصور الكميات المختلفة لألوان قبعات الفطر في هذه المجموعة البيانات. للقيام بذلك، تحتاج إلى تثبيت مكتبة مساعدة تسمى waffle واستخدامها لإنشاء تصورك:
install.packages("waffle", repos = "https://cinc.rud.is")
اختر جزءًا من بياناتك لتجميعه:
library(dplyr)
cap_color=mushrooms %>%
group_by(cap.color) %>%
summarise(count=n())
View(cap_color)
قم بإنشاء مخطط وافل عن طريق إنشاء تسميات ثم تجميع بياناتك:
library(waffle)
names(cap_color$count) = paste0(cap_color$cap.color)
waffle((cap_color$count/10), rows = 7, title = "Waffle Chart")+scale_fill_manual(values=c("brown", "#F0DC82", "#D2691E", "green",
"pink", "purple", "red", "grey",
"yellow","white"))
باستخدام مخطط وافل، يمكنك رؤية نسب ألوان قبعات الفطر في هذه المجموعة البيانات بوضوح. من المثير للاهتمام أن هناك العديد من الفطر ذو القبعات الخضراء!
في هذه الدرس، تعلمت ثلاث طرق لتصور النسب. أولاً، تحتاج إلى تجميع بياناتك في فئات ثم تقرر الطريقة الأفضل لعرض البيانات - دائري، دونات، أو وافل. جميعها لذيذة وتمنح المستخدم لمحة فورية عن مجموعة البيانات.
🚀 تحدي
حاول إعادة إنشاء هذه المخططات الشهية في Charticulator.
اختبار ما بعد المحاضرة
المراجعة والدراسة الذاتية
في بعض الأحيان، ليس من الواضح متى يجب استخدام مخطط دائري، دونات، أو وافل. إليك بعض المقالات لقراءتها حول هذا الموضوع:
https://www.beautiful.ai/blog/battle-of-the-charts-pie-chart-vs-donut-chart
https://medium.com/@hypsypops/pie-chart-vs-donut-chart-showdown-in-the-ring-5d24fd86a9ce
https://www.mit.edu/~mbarker/formula1/f1help/11-ch-c6.htm
قم ببعض البحث للعثور على المزيد من المعلومات حول هذا القرار الصعب.
المهمة
إخلاء المسؤولية:
تمت ترجمة هذا المستند باستخدام خدمة الترجمة الآلية Co-op Translator. بينما نسعى لتحقيق الدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو معلومات غير دقيقة. يجب اعتبار المستند الأصلي بلغته الأصلية هو المصدر الموثوق. للحصول على معلومات حساسة أو هامة، يُوصى بالاستعانة بترجمة بشرية احترافية. نحن غير مسؤولين عن أي سوء فهم أو تفسيرات خاطئة تنشأ عن استخدام هذه الترجمة.