كيفية استخدام select_if مع شروط متعددة في dplyr


يمكنك استخدام بناء الجملة الأساسي التالي مع وظيفة Select_if() الخاصة بحزمة dplyr لتحديد أعمدة في إطار بيانات يلبي أحد الشروط العديدة:

 df %>% select_if( function (x) condition1 | condition2)

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

مثال 1: استخدم Select_if() مع أنواع الفئات

يوضح التعليمة البرمجية التالية كيفية استخدام وظيفة Select_if() لتحديد الأعمدة في إطار البيانات التي تحتوي على نوع فئة حرف أو رقمي :

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all character and numeric columns
df %>% select_if( function (x) is. character (x) | is. numeric (x))

  team points_for points_against
1 A 99 91
2 B 90 80
3 C 86 88
4 D 88 86
5 E 95 93

لاحظ أنه يتم إرجاع العمود المكون من حرف واحد ( الفريق ) والعمودين الرقميين ( points_for و points_against ) بينما لا يتم إرجاع عمود العوامل ( المؤتمر ).

المثال 2: استخدم الدالة Select_if()‎ مع أنواع الفئات وأسماء الأعمدة

يوضح التعليمة البرمجية التالية كيفية استخدام الدالة Select_if() لتحديد الأعمدة في إطار البيانات التي تحتوي على نوع فئة عامل أو اسم عمود Points_for :

 library (dplyr)

#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
                 conference=as. factor (c('W', 'W', 'W', 'E', 'E')),
                 points_for=c(99, 90, 86, 88, 95),
                 points_against=c(91, 80, 88, 86, 93))

#select all factor columns and 'points_for' column
df %>% select_if( function (x) is. factor (x) | all(x == .$points_for))

  conference points_for
1 W 99
2W 90
3 W 86
4 E 88
5 E 95

لاحظ أنه يتم إرجاع العمود المكون من عامل واحد والعمود المسمى Points_for .

ملاحظة : | الرمز هو عامل التشغيل المنطقي “OR” في R. لا تتردد في استخدام أكبر عدد ممكن من | الرموز لأنك تريد تحديد الأعمدة باستخدام أكثر من شرطين.

مصادر إضافية

تشرح البرامج التعليمية التالية كيفية استخدام الوظائف الشائعة الأخرى في dplyr:

كيفية استخدام الدالة عبر () في dplyr
كيفية استخدام وظيفة relocate() في dplyr
كيفية استخدام وظيفة الشريحة () في dplyr

Add a Comment

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