كيفية الإصلاح: خطأ في n(): لا ينبغي استدعاء هذه الوظيفة مباشرة


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

 Error in n(): This function should not be called directly

يحدث هذا الخطأ عادة عند محاولة استخدام الدالة n() لحزمة dplyr ، ولكن يتم تحميل حزمة plyr بعد حزمة dplyr .

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

كيفية إعادة إنتاج الخطأ

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

 #define data frame
df <- data. frame (team=rep(c('A', 'B'), each= 5 ),
                 points=c(2, 4, 6, 8, 10, 12, 14, 16, 18, 20),
                 assists=c(4, 7, 11, 16, 22, 29, 38, 49, 63, 80))

#view data frame
df

   team points assists
1 to 2 4
2 to 4 7
3 to 6 11
4 to 8 16
5 to 10 22
6 B 12 29
7 B 14 38
8 B 16 49
9 B 18 63
10 B 20 80

لنفترض الآن أننا نحاول استخدام دالة dplyr Summary() لحساب عدد الصفوف، مجمعة حسب الفريق:

 library (dplyr)
library (plyr)

#attempt to count rows by team
df %>%
  group_by(team) %>%
  summarize(count = n())

Error in n(): This function should not be called directly 

لقد تلقينا خطأ لأننا قمنا بتحميل حزمة plyr بعد حزمة dplyr ، مما يسبب مشاكل.

كيفية اصلاح الخطأ

طريقة إصلاح هذا الخطأ هي ببساطة استخدام dplyr:summarize حتى يعرف R بالضبط الحزمة التي تريد استخدام وظيفة التلخيص منها:

 library (dplyr)
library (plyr)

#count rows by team
df %>%
  group_by(team) %>%
  dplyr::summarize(count = n())

# A tibble: 2 x 2
  team count
   
1 to 5
2 B 5

لاحظ أننا قادرون على حساب عدد الصفوف المجمعة حسب الفريق دون أي أخطاء هذه المرة لأننا استخدمنا dplyr::summarize لإجراء الملخص.

مصادر إضافية

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

كيفية الإصلاح في R: خطأ في as.Date.numeric(x): يجب توفير “الأصل”.
كيفية الإصلاح: خطأ في stripchart.default(x1, …): طريقة التخطيط غير صالحة
كيفية الإصلاح: خطأ في التقييم (predvars، data، env): لم يتم العثور على الكائن ‘x’

Add a Comment

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