كيفية الإصلاح: لا يمكن إجبار الكائن (القائمة) على كتابة "مزدوج"؛
الخطأ الشائع الذي قد تواجهه في R هو:
Error: (list) object cannot be coerced to type 'double'
يحدث هذا الخطأ عندما تحاول تحويل قائمة عناصر متعددة إلى عناصر رقمية دون استخدام الدالة unlist() أولاً.
يشارك هذا البرنامج التعليمي الخطوات الدقيقة التي يمكنك استخدامها لحل هذا الخطأ.
كيفية إعادة إنتاج الخطأ
يحاول التعليمة البرمجية التالية تحويل قائمة عناصر متعددة إلى قيم رقمية:
#create list x <- list(1:5, 6:9, 7) #display list x [[1]] [1] 1 2 3 4 5 [[2]] [1] 6 7 8 9 [[3]] [1] 7 #attempt to convert list to numeric x_num <- as. numeric (x) Error: (list) object cannot be coerced to type 'double'
نظرًا لأننا لم نستخدم الدالة unlist() ، فقد تلقينا رسالة الخطأ (list) لا يمكن إجبارها على كتابة “double” .
كيفية اصلاح الخطأ
لتحويل القائمة إلى قائمة رقمية، نحتاج إلى التأكد من أننا نستخدم الدالة unlist() :
#create list x <- list(1:5, 6:9, 7) #convert list to numeric x_num <- as. numeric (unlist(x)) #display numeric values x_num [1] 1 2 3 4 5 6 7 8 9 7
يمكننا استخدام الدالة class() للتحقق من أن x_num هو بالفعل متجه للقيم الرقمية:
#verify that x_num is numeric
class(x_num)
[1] "digital"
يمكننا أيضًا التحقق من أن القائمة الأصلية والقائمة الرقمية لهما نفس عدد العناصر:
#display total number of elements in original list sum(lengths(x)) [1] 10 #display total number of elements in numeric list length(x_num) [1] 10
نرى أن الطولين متطابقان.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حل الأخطاء الشائعة الأخرى في R:
كيفية الإصلاح في R: الأسماء لا تتطابق مع الأسماء السابقة
كيفية الإصلاح في R: لا يمكن تطبيق التباينات إلا على العوامل ذات المستويين أو أكثر
كيفية الإصلاح في R: طول الكائن الأطول ليس مضاعفًا لطول الكائن الأقصر