كيفية الإصلاح في r: لم يتم استدعاءplot.new بعد
الخطأ الذي قد تواجهه عند استخدام R هو:
Error in plot.xy(xy.coords(x, y), type = type, ...):
plot.new has not been called yet
يحدث هذا الخطأ عندما تحاول تنفيذ إجراء يتطلب وجود قطعة أرض بالفعل في R، ولكن لا توجد قطعة أرض موجودة.
توضح الأمثلة التالية كيفية تصحيح هذا الخطأ عمليًا.
مثال 1: كيفية إصلاح الخطأ في الأسطر ()
لنفترض أننا نحاول رسم خط انحدار مناسب في R:
#createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)
#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))
#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x)))
Error in plot.xy(xy.coords(x, y), type = type, ...):
plot.new has not been called yet
لقد تلقينا خطأً لأنه لا يمكننا استخدام وظيفة الخطوط () دون إنشاء مسار في R أولاً.
لتصحيح هذا الخطأ، يمكننا أولاً إنشاء مخطط مبعثر ثم استخدام الدالة lines() :
#create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#fit polynomial regression model
model <- lm(y~poly(x, 2), data=df)
#define new sequence of x-values
new_x <- seq(min(df$x), max(df$y))
#create scatterplot of x vs. y values
plot(y~x, data=df)
#attempt to plot fitted regression line
lines(new_x, predict(model, newdata = data. frame (x=new_x)))
لاحظ أننا لا نتلقى خطأً لأننا استخدمنا الدالة Plot() أولاً قبل استخدام الدالة Lines() .
مثال 2: كيفية تصحيح خطأ في abline()
لنفترض أننا نحاول إنشاء مخطط مبعثر بخط أفقي مستقيم في R:
#create data
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#attempt to add horizontal line at y=10
abline(a=10, b=0, lwd=2)
Error in plot.xy(xy.coords(x, y), type = type, ...):
plot.new has not been called yet
لقد تلقينا خطأ لأنه لا يمكننا استخدام الدالة abline() دون إنشاء قطعة أرض في R.
لتصحيح هذا الخطأ، يمكننا أولاً إنشاء مخطط مبعثر ثم استخدام الدالة abline() :
#createdata
df <- data. frame (x=c(1, 2, 2, 3, 5, 6, 8, 8, 9, 9, 10, 11, 12, 15, 15),
y=c(2, 3, 3, 4, 5, 5, 6, 7, 8, 8, 9, 10, 16, 19, 28))
#create scatterplot of x vs. y
plot(y~x, data=df)
#add horizontal line at y=10
abline(a=10, b=0, lwd=2)
لاحظ أننا لا نتلقى أي خطأ لأننا استخدمنا الدالة Plot() أولاً قبل استخدام الدالة abline() .
ذات صلة: كيفية استخدام aline() في R لإضافة خطوط مستقيمة إلى المسارات
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في R:
كيفية الإصلاح في R: ثابت السلسلة غير المتوقع
كيفية الإصلاح في R: صيغة القالب غير صالحة في ExtractVars
كيفية الإصلاح في R: الوسيطة ليست رقمية ولا منطقية: return na