كيفية الإصلاح: خطأ في xy.coords(x, y, xlabel, ylabel, log): يختلف طول "x" و"y"
الخطأ الشائع الذي قد تواجهه في R هو:
Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
يحدث هذا الخطأ عندما تحاول إنشاء مخطط لمتغيرين ولكن المتغيرات ليست بنفس الطول.
يشرح هذا البرنامج التعليمي بالضبط كيفية إصلاح هذا الخطأ.
كيفية إعادة إنتاج الخطأ
لنفترض أننا نحاول إنشاء مخطط تشتت للمتغيرين التاليين في R:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #attempt to create scatterplot of x vs. y plot(x, y) Error in xy.coords(x, y, xlabel, ylabel, log): 'x' and 'y' lengths differ
لقد تلقينا خطأ لأن طولي x وy غير متساويين.
يمكننا التأكد من ذلك عن طريق طباعة طول كل متغير:
#print length of x length(x) [1] 4 #print length of y length(y) [1] 6 #check if length of x and y are equal length(x) == length(y) [1] FALSE
كيفية اصلاح الخطأ
أسهل طريقة لإصلاح هذا الخطأ هي التأكد ببساطة من أن المتجهين لهما نفس الطول:
#define x and y variables to have same length x <- c(2, 5, 5, 8, 9, 12) y <- c(22, 28, 32, 35, 40, 41) #confirm that x and y are the same length length(x) == length(y) [1] TRUE create scatterplot of x vs. y plot(x, y)
إذا تبين أن أحد المتجهات أقصر من الآخر، فيمكنك اختيار رسم قيم تصل إلى طول المتجه الأقصر فقط.
على سبيل المثال، إذا كان المتجه xa له 4 قيم والمتجه y له 6 قيم، فيمكننا إنشاء مخطط تبعثر باستخدام القيم الأربع الأولى فقط من كل متجه:
#define x and y variables x <- c(2, 5, 5, 8) y <- c(22, 28, 32, 35, 40, 41) #create scatterplot of first 4 pairwise values of x vs. y plot(x, y[1: length (x)])
لاحظ أنه يتم استخدام القيم الأربع الأولى فقط لكل متجه لإنشاء السحابة النقطية.
مصادر إضافية
كيفية الإصلاح في R: NAs التي تم تقديمها عن طريق الإكراه
كيفية الإصلاح في R: تلميح خارج الحدود
كيفية الإصلاح: طول الكائن الأطول ليس مضاعفًا لطول الكائن الأقصر