كيفية الإصلاح في r: dim(x) يجب أن يكون له طول موجب


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

 Error in apply(df$var1, 2, mean): dim(X) must have a positive length 

يحدث هذا الخطأ عند محاولة استخدام الدالة application() لحساب قياس لعمود إطار بيانات أو مصفوفة، مع توفير متجه كوسيطة بدلاً من إطار بيانات أو مصفوفة.

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

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

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

 #create data frame
df <- data. frame (points=c(99, 97, 104, 79, 84, 88, 91, 99),
                 rebounds=c(34, 40, 41, 38, 29, 30, 22, 25),
                 blocks=c(12, 8, 8, 7, 8, 11, 6, 7))

#view data frame
df

  points rebound blocks
1 99 34 12
2 97 40 8
3 104 41 8
4 79 38 7
5 84 29 8
6 88 30 11
7 91 22 6
8 99 25 7

لنفترض الآن أننا نحاول استخدام الدالة application() لحساب القيمة المتوسطة في عمود “النقاط”:

 #attempt to calculate mean of 'points' column
apply(df$points, 2, mean)

Error in apply(df$points, 2, mean): dim(X) must have a positive length

يحدث خطأ لأن الدالة application() تحتاج إلى تطبيقها على إطار بيانات أو مصفوفة، ولكن في هذا المثال نحاول تطبيقها على عمود معين في إطار البيانات.

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

طريقة إصلاح هذا الخطأ هي ببساطة تقديم اسم إطار البيانات إلى الدالة application() كما يلي:

 #calculate mean of every column in data frame
apply(df, 2, mean)

  points rebound blocks 
  92,625 32,375 8,375 

من المخرجات، يمكننا رؤية متوسط قيمة كل عمود في إطار البيانات. على سبيل المثال، متوسط قيمة عمود “النقاط” هو 92,625 .

يمكننا أيضًا استخدام هذه الوظيفة للعثور فقط على متوسط القيم المحددة في إطار البيانات:

 #calculate mean of 'points' and 'blocks' column in data frame
apply(df[c(' points ', ' blocks ')], 2, mean)

point blocks 
92,625 8,375

أخيرًا، إذا أردنا إيجاد متوسط عمود واحد، فيمكننا استخدام الدالة Mean() دون استخدام الدالة application() على الإطلاق:

 #calculate mean of 'points' column
mean(df$points)

[1] 92,625

مصادر إضافية

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

كيفية الإصلاح في R: الأسماء لا تتطابق مع الأسماء السابقة
كيفية الإصلاح في R: طول الكائن الأطول ليس مضاعفًا لطول الكائن الأقصر
كيفية الإصلاح في R: لا يمكن تطبيق التباينات إلا على العوامل ذات المستويين أو أكثر

Add a Comment

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