كيفية التعامل مع خطأ r: عامل التشغيل $ غير صالح للمتجهات الذرية
الخطأ الشائع الذي قد تواجهه في R هو:
$ operator is invalid for atomic vectors
يحدث هذا الخطأ عند محاولة الوصول إلى عنصر ناقل ذري باستخدام عامل التشغيل $ .
“المتجه الذري” هو أي كائن بيانات أحادي البعد يتم إنشاؤه باستخدام وظائف c() أو Vector() في R.
لسوء الحظ، لا يمكن استخدام $ للوصول إلى عناصر المتجهات الذرية. بدلاً من ذلك، يجب عليك استخدام الأقواس المزدوجة [[]] أو الدالة getElement() .
يشارك هذا البرنامج التعليمي أمثلة حول كيفية التعامل مع هذا الخطأ عمليًا.
كيفية إعادة إنتاج رسالة الخطأ
لنفترض أننا نحاول استخدام العامل $ للوصول إلى عنصر من المتجه التالي في R:
#definevector
x <- c(1, 3, 7, 6, 2)
#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')
#display vector
x
a B C D E
1 3 7 6 2
#attempt to access value in 'e'
x$e
Error in x$e: $ operator is invalid for atomic vectors
نتلقى خطأ لأنه من غير الصحيح استخدام العامل $ للوصول إلى عناصر المتجهات الذرية. يمكننا أيضًا التحقق من أن المتجه ذري بالفعل:
#check if vector is atomic
is. atomic (x)
[1] TRUE
الطريقة رقم 1: الوصول إلى العناصر باستخدام الأقواس المزدوجة
إحدى الطرق للوصول إلى العناصر بالاسم في المتجه هي استخدام الترميز [[]] :
#definevector
x <- c(1, 3, 7, 6, 2)
#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')
#access value for 'e'
x[['e']]
[1] 2
الطريقة الثانية: الوصول إلى العناصر باستخدام getElement()
هناك طريقة أخرى للوصول إلى العناصر بالاسم في المتجه وهي استخدام تدوين getElement() :
#definevector
x <- c(1, 3, 7, 6, 2)
#provide names
names(x) <- c('a', 'b', 'c', 'd', 'e')
#access value for 'e'
getElement(x, 'e')
[1] 2
الطريقة رقم 3: تحويل المتجه إلى إطار بيانات واستخدام عامل التشغيل $
هناك طريقة أخرى للوصول إلى العناصر بالاسم في المتجه وهي تحويل المتجه أولاً إلى إطار بيانات، ثم استخدام العامل $ للوصول إلى القيمة:
#definevector x <- c(1, 3, 7, 6, 2) #provide names names(x) <- c('a', 'b', 'c', 'd', 'e') #convert vector to data frame data_x <- as. data . frame (t(x)) #display data frame data_x a B C D E 1 1 3 7 6 2 #access value for 'e' data_x$e [1] 2
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية حل الأخطاء الشائعة الأخرى في R:
كيفية الإصلاح في R: الأسماء لا تتطابق مع الأسماء السابقة
كيفية الإصلاح في R: NAs التي تم تقديمها عن طريق الإكراه
كيفية الإصلاح في R: تلميح خارج الحدود
كيفية الإصلاح في R: لا يمكن تطبيق التباينات إلا على العوامل ذات المستويين أو أكثر