متى يتم استخدام stat = "identity" في مخططات ggplot2
هناك طريقتان شائعتان لاستخدام الدالة Geom_bar() في ggplot2 لإنشاء مخططات شريطية:
الطريقة الأولى: استخدام Geom_bar()
ggplot(df, aes(x)) + geom_bar()
افتراضيًا، ستقوم Geom_bar() ببساطة بحساب تكرارات كل قيمة فريدة للمتغير x واستخدام الأشرطة لعرض الأعداد.
الطريقة الثانية: استخدام Geom_bar(stat=”identity”)
ggplot(df, aes(x, y)) +
geom_bar(stat=" identity ")
إذا قمت بتوفير الوسيطة stat=”identity” إلى Geom_bar() فإنك تطلب من R حساب مجموع المتغير y، مجمعًا حسب المتغير x واستخدام الأشرطة لعرض المجاميع.
توضح الأمثلة التالية الفرق بين هاتين الطريقتين باستخدام إطار البيانات التالي في R الذي يوضح النقاط التي سجلها لاعبو كرة السلة من فرق مختلفة:
#create data frame df <- data. frame (team=rep(c(' A ', ' B ', ' C '), each= 4 ), points=c(3, 5, 5, 6, 5, 7, 7, 8, 9, 9, 9, 8)) #view data frame df team points 1 to 3 2 to 5 3 to 5 4 to 6 5 B 5 6 B 7 7 B 7 8 B 8 9 C 9 10 C 9 11 C 9 12 C 8
المثال 1: استخدام Geom_bar()
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة Geom_bar() لإنشاء مخطط شريطي يعرض عدد كل قيمة فريدة في عمود الفريق :
library (ggplot2) #create bar chart to visualize occurrence of each unique value in team column ggplot(df, aes(team)) + geom_bar()
يعرض المحور X القيم الفريدة في عمود الفريق ، ويعرض المحور Y عدد مرات حدوث كل قيمة فريدة.
وبما أن كل قيمة فريدة ظهرت 4 مرات، فإن ارتفاع كل شريط هو 4 في المخطط.
مثال 2: استخدام Geom_bar(stat=”identity”)
يوضح التعليمة البرمجية التالية كيفية استخدام الدالة Geom_bar() مع الوسيطة stat=”identity” لإنشاء مخطط شريطي يعرض مجموع القيم في عمود النقاط ، مجمعة حسب الفريق :
library (ggplot2) #create bar chart to visualize sum of points, grouped by team ggplot(df, aes(team, points)) + geom_bar(stat=" identity ")
يعرض المحور X القيم الفريدة في عمود الفريق ويعرض المحور Y مجموع القيم في عمود النقاط لكل فريق.
على سبيل المثال:
- مجموع نقاط الفريق أ هو 19.
- مجموع نقاط الفريق B هو 27.
- مجموع نقاط الفريق C هو 35.
باستخدام stat=”identity” في الدالة Geom_bar() ، يمكننا عرض مجموع قيم متغير معين في إطار البيانات الخاص بنا بدلاً من الأعداد.
ملاحظة : لكي يعمل stat=”identity” بشكل صحيح، يجب عليك توفير متغير x ومتغير ay في الوسيطة aes() .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في ggplot2:
كيفية ضبط المسافة بين الأشرطة في ggplot2
كيفية إزالة NAs من المؤامرة في ggplot2
كيفية تغيير ألوان الشريط في مخطط Stacked Bart في ggplot2