ج: كيفية حذف الأسطر التي تحتوي على سلسلة معينة


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

 df[!grepl(' string ', df$column),]

يقدم هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لبناء الجملة هذا مع إطار البيانات التالي في R:

 #create data frame
df <- data. frame (team=c('A', 'A', 'A', 'B', 'B', 'C'),
                 conference=c('East', 'East', 'East', 'West', 'West', 'East'),
                 dots=c(11, 8, 10, 6, 6, 5))

#view data frame
df

  team conference points
1 A East 11
2 A East 8
3 A East 10
4 B West 6
5 B West 6
6 C East 5

المثال 1: إزالة الصفوف التي تحتوي على سلسلة محددة

يوضح التعليمة البرمجية التالية كيفية حذف كافة الصفوف من إطار البيانات الذي يحتوي على “A” في عمود الفريق:

 df[!grepl(' A ', df$team),]

  team conference points
4 B West 6
5 B West 6
6 C East 5

أو يمكننا إزالة جميع الصفوف من إطار البيانات الذي يحتوي على “الغرب” في عمود المؤتمر:

 df[!grepl(' West ', df$conference),]

  team conference points
1 A East 11
2 A East 8
3 A East 10
6 C East 5

المثال 2: إزالة الصفوف التي تحتوي على سلسلة في القائمة

يوضح التعليمة البرمجية التالية كيفية حذف كافة الصفوف من إطار البيانات التي تحتوي على “A” أو “B” في عمود الفريق:

 df[!grepl(' A|B ', df$team),]

6 C East 5

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

 #define vector of strings
remove <- c(' A ', ' B ')

#remove rows that contain any string in the vector in the team column
df[!grepl( paste (remove, collapse=' | '), df$team),]

6 C East 5

لاحظ أن كلا الطريقتين تؤديان إلى نفس النتيجة.

مصادر إضافية

كيفية حذف الصفوف التي تحتوي على بعض أو كل NAs في R
كيفية إزالة الخطوط المكررة في R
كيفية جمع صفوف محددة في R

Add a Comment

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