كيفية الإصلاح في r: الخطأ: محاولة تطبيق غير دالة


الخطأ الذي قد تواجهه في R هو:

 Error: attempt to apply non-function

يحدث هذا الخطأ عادةً عندما تحاول ضرب القيم في R ولكنك تنسى تضمين علامة الضرب ( * ).

يشرح هذا البرنامج التعليمي بالضبط كيفية التعامل مع هذا الخطأ في سيناريوهين مختلفين.

السيناريو 1: حل الخطأ في مضاعفة إطار البيانات

لنفترض أننا أنشأنا إطار البيانات التالي في R:

 #create data frame
df <- data. frame (x=c(1, 2, 6, 7),
                 y=c(3, 5, 5, 8))

#view data frame
df

  xy
1 1 3
2 2 5
3 6 5
4 7 8

لنفترض الآن أننا نحاول إنشاء عمود جديد يساوي العمود x مضروبًا في 10:

 #attempt to create new column
df$x_times_10 <- df$x(10)

Error: attempt to apply non-function

لقد تلقينا خطأ لأننا نسينا تضمين علامة الضرب ( * ).

لحل هذا الخطأ، يجب عليك تضمين علامة الضرب:

 #create new column
df$x_times_10 <- df$x*(10)

#view updated data frame
df

  xy x_times_10
1 1 3 10
2 2 5 20
3 6 5 60
4 7 8 70

السيناريو 2: حل خطأ ضرب المتجهات

لنفترض أننا أنشأنا متجهين في R وحاولنا مضاعفة العناصر المقابلة لهما معًا:

 #create two vectors
x <- c(1, 2, 2, 2, 4, 5, 6)
y <- c(5, 6, 8, 7, 8, 8, 9)

#attempt to multiply corresponding elements in vectors
(x)(y)

Error: attempt to apply non-function

لقد تلقينا خطأ لأننا لم نقم بتضمين علامة الضرب.

لحل هذا الخطأ، يجب عليك تضمين علامة الضرب:

 #multiply corresponding elements in vectors
(x)*(y)

[1] 5 12 16 14 32 40 54

لاحظ أنه يتم إنتاج أية أخطاء هذه المرة.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية إصلاح الأخطاء الشائعة الأخرى في R:

كيفية الإصلاح: الشرط له طول > 1 وسيتم استخدام العنصر الأول فقط
كيفية الإصلاح: الوسيطة غير الرقمية للمشغل الثنائي
كيفية الإصلاح: يجب أن يكون لـ dim(X) طول موجب
كيفية الإصلاح: خطأ في اختيار الوسائط غير المستخدمة

Add a Comment

ایمئیل یایینلانمایاجاق ایسته‎نیله‎ن بوشلوقلار خاللانمیشدیر *