كيفية استخدام عامل التشغيل "not in" في لغة r (مع أمثلة)
يمكنك استخدام بناء الجملة الأساسي التالي لتحديد جميع العناصر غير الموجودة في قائمة القيم في R:
! (data %in% c(value1, value2, value3, ...))
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
مثال 1: كيفية استخدام “NOT IN” مع المتجهات
يوضح الكود التالي كيفية تحديد جميع قيم المتجه في R غير الموجودة في قائمة معينة من القيم:
#define numeric vector num_data <- c(1, 2, 3, 3, 4, 4, 5, 5, 6) #display all values in vector not equal to 3 or 4 num_data[ ! (num_data %in% c(3, 4))] [1] 1 2 5 5 6
يتم عرض كافة القيم التي لا تساوي 3 أو 4 في الإخراج.
لاحظ أنه يمكننا استخدام نفس الصيغة لتحديد جميع عناصر المتجه غير الموجودة في قائمة معينة من الأحرف:
#define vector of character data char_data <- c('A', 'A', 'A', 'B', 'B', 'C', 'C', 'D', 'D', 'D') #display all elements in vector not equal to 'A', or 'C' char_data[ ! (char_data %in% c('A', 'C'))] [1] “B” “B” “D” “D” “D”
يتم عرض أي قيم لا تساوي “A” أو “C” في الإخراج.
مثال 2: كيفية استخدام “NOT IN” مع إطارات البيانات
يوضح التعليمة البرمجية التالية كيفية تحديد جميع صفوف إطار البيانات في R حيث لا يساوي عمود معين قيمًا معينة:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 D 97 14 #select all rows where team is not equal to 'A' or 'B' subset(df, ! (team %in% c('A', 'B'))) team points assists 5 C 99 32 6 C 92 39 7 D 97 14
لاحظ أنه يتم إرجاع أية صفوف لا تحتوي على “A” أو “B” في عمود الفريق.
يمكننا أيضًا استخدام بناء جملة مماثل لتحديد جميع الصفوف التي لا يساوي فيها عمود معين قيمًا رقمية معينة:
#create data frame df <- data. frame (team=c('A', 'A', 'B', 'B', 'C', 'C', 'D'), points=c(77, 81, 89, 83, 99, 92, 97), assists=c(19, 22, 29, 15, 32, 39, 14)) #view data frame df team points assists 1 A 77 19 2 A 81 22 3 B 89 29 4 B 83 15 5 C 99 32 6 C 92 39 7 D 97 14 #select all rows where team is not equal to 'A' or 'B' subset(df, ! (points %in% c(89, 99))) team points assists 1 A 77 19 2 A 81 22 4 B 83 15 6 C 92 39 7 D 97 14
لاحظ أنه يتم إرجاع كافة الصفوف التي لا تساوي 89 أو 99 في عمود النقاط.
مصادر إضافية
كيفية استخدام عامل التشغيل %in% في R
كيفية تعيين إطار بيانات فرعيًا في R
كيفية تعيين القوائم الفرعية في R