ج: احذف الصفوف من إطار البيانات بناءً على الحالة
يمكنك استخدام الدالة subset() لإزالة الصفوف ذات القيم المحددة في إطار البيانات في R:
#only keep rows where col1 value is less than 10 and col2 value is less than 8 new_df <- subset(df, col1 < 10 & col2< 8 )
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا مع إطار البيانات التالي:
#create data frame
df <- data. frame (a=c(1, 3, 4, 6, 8, 9),
b=c(7, 8, 8, 7, 13, 16),
c=c(11, 13, 13, 18, 19, 22),
d=c(12, 16, 18, 22, 29, 38))
#view data frame
df
abcd
1 1 7 11 12
2 3 8 13 16
3 4 8 13 18
4 6 7 18 22
5 8 13 19 29
6 9 16 22 38
مثال 1: حذف صفوف تساوي قيمة معينة
يوضح التعليمة البرمجية التالية كيفية حذف كافة الصفوف التي قيمتها في العمود “ج” تساوي 13:
#remove rows where column 'c' is equal to 13 new_df <- subset(df, c != 13) #view updated data frame new_df abcd 1 1 7 11 12 4 6 7 18 22 5 8 13 19 29 6 9 16 22 38
مثال 2: حذف صفوف تساوي إحدى القيم المتعددة
يوضح الكود التالي كيفية حذف كافة الصفوف التي قيمتها في العمود “ب” تساوي 7 أو 8:
#remove rows where value in column b is equal to 7 or 8 new_df <- subset(df, ! (b %in% c(7, 8))) #view updated data frame new_df abcd 5 8 13 19 29 6 9 16 22 38
المثال 3: حذف صفوف بناءً على شروط متعددة
يوضح الكود التالي كيفية حذف كافة الصفوف التي تكون فيها قيمة العمود “b” تساوي 7 أو حيث تكون قيمة العمود “d” تساوي 38:
#remove rows where value in column b is 7 or value in column d is 38 new_df <- subset(df, b != 7 & d != 38) #view updated data frame new_df abcd 2 3 8 13 16 3 4 8 13 18 5 8 13 19 29
مصادر إضافية
كيفية إزالة الخطوط المكررة في R
كيفية استخدام عامل التشغيل %in% في R
كيفية إعادة ترميز القيم في R