كيفية الإصلاح في r: لا يمكن إضافة كائنات ggproto معًا
الخطأ الذي قد تواجهه في R هو:
Error: Cannot add ggproto objects together. Did you forget to add this object to a ggplot object?
يحدث هذا الخطأ عادةً عندما تحاول إنشاء تصور باستخدام حزمة ggplot2 ولكنك تنسى إضافة علامة الجمع ( + ) في مكان ما في بناء الجملة.
يشرح هذا البرنامج التعليمي بالضبط كيفية إصلاح هذا الخطأ.
كيفية إعادة إنتاج الخطأ
لنفترض أن لدينا إطار البيانات التالي في R الذي يوضح إجمالي عدد المبيعات والعملاء الذين يستقبلهم المتجر في 10 أيام مختلفة:
#create data frame
df <- data. frame (day = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
sales = c(8, 8, 7, 6, 7, 8, 9, 12, 14, 18),
customers = c(4, 6, 6, 4, 6, 7, 8, 9, 12, 13))
#view data frame
df
day sales customers
1 1 8 4
2 2 8 6
3 3 7 6
4 4 6 4
5 5 7 6
6 6 8 7
7 7 9 8
8 8 12 9
9 9 14 12
10 10 18 13
لنفترض الآن أننا نحاول إنشاء مخطط خطي لتصور المبيعات والعملاء خلال كل يوم من الأيام العشرة:
library (ggplot2)
#attempt to create plot with two lines
ggplot(df, aes(x = day))
geom_line(aes(y = sales, color = ' sales ')) +
geom_line(aes(y = customers, color = ' customers '))
Error: Cannot add ggproto objects together.
Did you forget to add this object to a ggplot object?
نتلقى خطأ يخبرنا بأنه لا يمكننا إضافة كائنات ggproto معًا .
كيفية إصلاح الخطأ
طريقة إصلاح هذا الخطأ هي ببساطة إضافة علامة الجمع ( + ) إلى نهاية السطر الأول، وهو أمر نسينا القيام به في المرة الأولى:
library (ggplot2)
#create plot with two lines
ggplot(df, aes(x = day)) +
geom_line(aes(y = sales, color = ' sales ')) +
geom_line(aes(y = customers, color = ' customers '))
والنتيجة هي مخطط من سطرين يوضح إجمالي العملاء والمبيعات خلال فترة العشرة أيام تلك.
لاحظ أننا لا نتلقى خطأ هذه المرة لأننا استخدمنا علامة الجمع ( + ) في نهاية السطر الأول.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حل الأخطاء الشائعة الأخرى في R:
كيفية الإصلاح في R: dim(X) يجب أن يكون له طول موجب
كيفية الإصلاح في R: الأسماء لا تتطابق مع الأسماء السابقة
كيفية الإصلاح في R: طول الكائن الأطول ليس مضاعفًا لطول الكائن الأقصر
كيفية الإصلاح في R: لا يمكن تطبيق التباينات إلا على العوامل ذات المستويين أو أكثر