كيفية إصلاح خطأ r: القيمة المنفصلة المقدمة على نطاق مستمر
الخطأ الذي قد تواجهه في R هو:
Error: Discrete value supplied to continuous scale
يحدث هذا الخطأ عند محاولة تطبيق مقياس مستمر على محور في ggplot2، عندما لا يكون المتغير الموجود على هذا المحور رقميًا.
يشرح هذا البرنامج التعليمي بالضبط كيفية إصلاح هذا الخطأ.
كيفية إعادة إنتاج الخطأ
لنفترض أن لدينا إطار البيانات التالي في R:
#create data frame
df = data. frame (x = 1:12,
y = rep(c('1', '2', '3', '4'), times= 3 ))
#view data frame
df
xy
1 1 1
2 2 2
3 3 3
4 4 4
5 5 1
6 6 2
7 7 3
8 8 4
9 9 1
10 10 2
11 11 3
12 12 4
لنفترض الآن أننا نحاول إنشاء مخطط تشتت بمقياس محور y مخصص باستخدام الوسيطة scale_y_continious() :
library (ggplot2)
#attempt to create scatterplot with custom y-axis scale
ggplot(df, aes (x, y)) +
geom_point() +
scale_y_continuous(limits = c(0, 10))
Error: Discrete value supplied to continuous scale
نحن نتلقى خطأ لأن متغير المحور Y الخاص بنا هو حرف بدلاً من متغير رقمي.
يمكننا تأكيد ذلك باستخدام الدالة class( ) :
#check class of y variable
class(df$y)
[1] “character”
كيفية اصلاح الخطأ
أسهل طريقة لإصلاح هذا الخطأ هي تحويل متغير المحور Y إلى متغير رقمي قبل إنشاء مخطط التشتت:
library (ggplot2)
#convert y variable to numeric
df$y <- as. numeric (df$y)
#create scatterplot with custom y-axis scale
ggplot(df, aes (x, y)) +
geom_point() +
scale_y_continuous(limits = c(0, 10))
لاحظ أننا لا نتلقى أية أخطاء لأننا استخدمنا الدالة scale_y_continious() مع متغير رقمي بدلاً من متغير حرف.
يمكنك العثور على الوثائق الكاملة عبر الإنترنت لوظيفةscale_y_continious() هنا .
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ وظائف التخطيط الشائعة الأخرى في ggplot2:
كيفية تعيين فواصل المحور في ggplot2
كيفية إزالة تسميات المحور في ggplot2
كيفية تدوير تسميات المحور في ggplot2