ج: كيفية استخدام %in% لتصفية الصفوف ذات القيمة في القائمة


يمكنك استخدام بناء الجملة الأساسي التالي مع عامل التشغيل %in% في R لتصفية الصفوف التي تحتوي على قيمة في القائمة:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

يقوم بناء الجملة هذا بتصفية إطار بيانات للاحتفاظ فقط بالصفوف التي تكون فيها قيمة عمود الفريق مساوية لإحدى القيم الثلاث لمتجه team_names الذي حددناه.

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استخدام %in% لتصفية الصفوف التي تحتوي على قيمة في القائمة

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

 #create data frame
df <- data. frame (team=c('Mavs', 'Pacers', 'Mavs', 'Celtics', 'Nets', 'Pacers'),
                 points=c(104, 110, 134, 125, 114, 124),
                 assists=c(22, 30, 35, 35, 20, 27))

#view data frame
df

     team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Celtics 125 35
5 Nets 114 20
6 Pacers 124 27

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

  • مافس
  • بايسرز
  • شبكات

يمكننا استخدام بناء الجملة التالي مع عامل التشغيل %in% للقيام بذلك:

 library (dplyr)

#specify team names to keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is in list of team names to keep
df_new <- df %>% filter(team %in% team_names)

#view updated data frame
df_new

    team points assists
1 Mavs 104 22
2 Pacers 110 30
3 Mavs 134 35
4 Nets 114 20
5 Pacers 124 27

لاحظ أنه يتم الاحتفاظ فقط بالصفوف التي تحتوي على قيمة Mavs أو Pacers أو Nets في عمود الفريق .

إذا كنت تريد تصفية الصفوف التي لا يوجد فيها اسم الفريق في قائمة أسماء الفرق، فما عليك سوى إضافة علامة تعجب ( ! ) أمام اسم العمود:

 library (dplyr)

#specify team names to not keep
team_names <- c(' Mavs ', ' Pacers ', ' Nets ')

#select all rows where team is not in list of team names to keep
df_new <- df %>% filter( ! team %in% team_names)

#view updated data frame
df_new

     team points assists
1 Celtics 125 35

لاحظ أنه يتم الاحتفاظ فقط بالصفوف التي لا تساوي قيمتها Mavs أو Pacers أو Nets في عمود الفريق .

ملاحظة : يمكنك العثور على الوثائق الكاملة لوظيفة التصفية في dplyr هنا .

مصادر إضافية

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

كيفية تحديد الصف الأول حسب المجموعة باستخدام dplyr
كيفية التصفية حسب شروط متعددة باستخدام dplyr
كيفية تصفية الصفوف التي تحتوي على سلسلة معينة باستخدام dplyr

Add a Comment

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