كيفية حذف الصفوف التي تحتوي على أصفار في r (مع مثال)


يمكنك استخدام أي من الطرق التالية لإزالة الصفوف التي تحتوي على أصفار في إطار بيانات في R:

الطريقة الأولى: إزالة الصفوف التي تحتوي على أصفار باستخدام Base R

 df_new <- df[apply(df!= 0 , 1 , all),]

الطريقة الثانية: إزالة الصفوف التي تحتوي على أصفار باستخدام dplyr

 library (dplyr)

df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

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

 #create data frame
df <- data. frame (points=c(5, 7, 8, 0, 12, 14, 0, 10, 8),
                 assists=c(0, 2, 2, 4, 4, 3, 7, 6, 10),
                 rebounds=c(8, 8, 7, 3, 6, 5, 0, 12, 11))

#view data frame
df

  points assists rebounds
1 5 0 8
2 7 2 8
3 8 2 7
4 0 4 3
5 12 4 6
6 14 3 5
7 0 7 0
8 10 6 12
9 8 10 11

مثال 1: إزالة الصفوف التي تحتوي على أصفار باستخدام Base R

يوضح التعليمة البرمجية التالية كيفية إزالة الصفوف التي تحتوي على أصفار باستخدام الدالة R base application() :

 #create new data frame that removes rows with any zeros from original data frame
df_new <- df[apply(df!= 0 , 1 , all),]

#view new data frame
df_new

  points assists rebounds
2 7 2 8
3 8 2 7
5 12 4 6
6 14 3 5
8 10 6 12
9 8 10 11

لاحظ أنه تمت إزالة الأسطر الثلاثة التي تحتوي على قيم فارغة.

مثال 2: إزالة الصفوف التي تحتوي على أصفار باستخدام dplyr

يوضح التعليمة البرمجية التالية كيفية إزالة الصفوف التي تحتوي على أصفار باستخدام وظيفة filter_if() من حزمة dplyr في R:

 #create new data frame that removes rows with any zeros from original data frame
df_new <- filter_if(df, is.numeric , all_vars((.) != 0 ))

#view new data frame
df_new

  points assists rebounds
1 7 2 8
2 8 2 7
3 12 4 6
4 14 3 5
5 10 6 12
6 8 10 11

لاحظ أنه تمت إزالة الأسطر الثلاثة التي تحتوي على قيم فارغة.

وهذا يتوافق مع النتيجة التي حصلنا عليها باستخدام قاعدة R.

ملاحظة : استخدمنا الدالة is.numeric لتحديد أن جميع المتغيرات الرقمية في إطار البيانات يجب أن تكون غير صفرية.

مصادر إضافية

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

كيفية إزالة الأسطر الفارغة من إطار البيانات في R
كيفية إزالة الأعمدة ذات قيم NA في R
كيفية إزالة الخطوط المكررة في R

Add a Comment

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