كيفية الإصلاح في r: nas التي تم تقديمها عن طريق الإكراه
رسالة التحذير الشائعة التي قد تواجهها في R هي:
Warning message: NAs introduced by coercion
تظهر رسالة التحذير هذه عند استخدام as.numeric() لتحويل متجه في R إلى متجه رقمي ويحدث وجود قيم غير رقمية في المتجه الأصلي.
للتوضيح، لا يتعين عليك القيام بأي شيء “لإصلاح” رسالة التحذير هذه. يحذرك R ببساطة من أن بعض القيم في المتجه الأصلي قد تم تحويلها إلى NA لأنه لا يمكن تحويلها إلى قيم رقمية.
ومع ذلك، يشارك هذا البرنامج التعليمي الخطوات الدقيقة التي يمكنك اتباعها إذا كنت لا تريد رؤية رسالة التحذير هذه معروضة على الإطلاق.
كيفية إعادة إنتاج رسالة التحذير
يقوم التعليمة البرمجية التالية بتحويل متجه الأحرف إلى متجه رقمي:
#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')
#convert to numeric vector
x_num <- as. numeric (x)
#display digital vector
x_num
Warning message:
NAs introduced by coercion
[1] 1 2 3 NA 4 NA
يقوم R بتحويل ناقل الأحرف إلى متجه رقمي، ولكنه يعرض رسالة التحذير التي تقدمها NAs بالإكراه حيث لا يمكن تحويل قيمتين من المتجه الأصلي إلى قيم رقمية.
الطريقة رقم 1: إزالة التحذيرات
إحدى طرق التعامل مع رسالة التحذير هذه هي ببساطة إيقافها باستخدام الدالة قمعWarnings() عند تحويل متجه الأحرف إلى متجه رقمي:
#define character vector
x <- c('1', '2', '3', NA, '4', 'Hey')
#convert to numeric vector, suppressing warnings
suppressWarnings(x_num <- as.numeric (x))
#display digital vector
x_num
[1] 1 2 3 NA 4 NA
نجح R في تحويل ناقل الأحرف إلى ناقل رقمي دون عرض أي رسالة تحذير.
الطريقة الثانية: استبدال القيم غير الرقمية
إحدى الطرق لتجنب رسالة التحذير في المقام الأول هي استبدال القيم غير الرقمية للمتجه الأصلي بمسافات باستخدام الدالة gsub() :
#define character vector
x <- c('1', '2', '3', '4', 'Hey')
#replace non-numeric values with 0
x <- gsub(" Hey ", " 0 ", x)
#convert to numeric vector
x_num <- as. numeric (x)
#display digital vector
x_num
[1] 1 2 3 4 0
نجح R في تحويل ناقل الأحرف إلى ناقل رقمي دون عرض أي رسالة تحذير.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حل الأخطاء الشائعة الأخرى في R:
كيفية الإصلاح في R: الأسماء لا تتطابق مع الأسماء السابقة
كيفية الإصلاح في R: طول الكائن الأطول ليس مضاعفًا لطول الكائن الأقصر
كيفية الإصلاح في R: لا يمكن تطبيق التباينات إلا على العوامل ذات المستويين أو أكثر