كيفية استخدام عامل التشغيل %in% في r (مع أمثلة)


يسمح لك عامل التشغيل %in% في R بتحديد ما إذا كان العنصر ينتمي إلى ناقل أو إطار بيانات أم لا.

يقدم هذا البرنامج التعليمي ثلاثة أمثلة لاستخدام هذه الميزة في سيناريوهات مختلفة.

مثال 1: استخدام %in% مع المتجهات

يمكننا استخدام العامل %in% لتحديد عدد عناصر المتجه التي تنتمي إلى متجه آخر:

 #define two vectors of data
data1 <- c(3, 5, 7, 7, 14, 19, 22, 25)

data2 <- c(1, 2, 3, 4, 5)

#produce new vector that contains elements of data1 that are in data2
data1[data1 %in% data2]

[1] 3 5

يمكننا أن نرى أن القيمتين 3 و 5 هما العنصران الوحيدان للمتجه المسمى data2 الموجود في المتجه المسمى data1 .

مثال 2: استخدم %in% لتصفية إطارات البيانات

يمكننا أيضًا استخدام عامل التشغيل %in% لتصفية الصفوف في إطار بيانات يحتوي على قيم معينة:

 #define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#produce new data frame that only contains rows where team is 'B'
df_new <- df[df$team %in% c(' B '), ]
df_new

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25

#produce new data frame that only contains rows where team is 'B' or 'C'
df_new2 <- df[df$team %in% c(' B ', ' C '), ]
df_new2

  team points assists
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

مثال 3: استخدم %in% لإنشاء أعمدة إطار البيانات

يمكننا أيضًا استخدام عامل التشغيل %in% لإنشاء أعمدة إطار بيانات جديدة.

على سبيل المثال، يوضح التعليمة البرمجية التالية كيفية إنشاء عمود جديد يسمى القسم الذي يضع الفريقين “A” و”C” على أنهما “شرق” والفرق “B” على أنهما “غرب”:

 library (dplyr)

#define data frame
df <- data.frame(team=c('A', 'A', 'B', 'B', 'B', 'C'),
                 points=c(67, 72, 77, 89, 84, 97),
                 assists=c(14, 16, 12, 22, 25, 20))

#view data frame
df

  team points assists
1 A 67 14
2 A 72 16
3 B 77 12
4 B 89 22
5 B 84 25
6 C 97 20

#create new column called division
df$division = if_else (df$team %in% c(' A ', ' C '), ' East ', ' West ')
df

  team points assists division
1 A 67 14 East
2 A 72 16 East
3 B 77 12 West
4 B 89 22 West
5 B 84 25 West
6 C 97 20 East

مصادر إضافية

كيفية دمج عمودين في عمود واحد في R
كيفية إضافة صفوف إلى إطار البيانات في R
كيفية مقارنة عمودين في R

Add a Comment

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