قم بإنشاء متغيرات جديدة في r باستخدام mutate() وcase_when()
غالبًا قد ترغب في إنشاء متغير جديد في إطار بيانات في R بناءً على شروط معينة. لحسن الحظ، من السهل القيام بذلك باستخدام الدالتين mutate() و case_when() من الحزمة dplyr .
يوضح هذا البرنامج التعليمي عدة أمثلة لاستخدام هذه الوظائف مع إطار البيانات التالي:
#create data frame df <- data.frame(player = c('a', 'b', 'c', 'd', 'e'), position = c('G', 'F', 'F', 'G', 'G'), points = c(12, 15, 19, 22, 32), rebounds = c(5, 7, 7, 12, 11)) #view data frame df player position points rebounds 1 to G 12 5 2 b F 15 7 3 c F 19 7 4 d G 22 12 5th G 32 11
مثال 1: إنشاء متغير جديد استنادا إلى متغير موجود
يوضح التعليمة البرمجية التالية كيفية إنشاء متغير جديد يسمى “الهداف” بناءً على القيمة الموجودة في عمود النقاط:
library(dplyr) #define new variable 'scorer' using mutate() and case_when() df %>% mutate (scorer = case_when (points < 15 ~ ' low ', points < 25 ~ ' med ', points < 35 ~ ' high ')) player position points rebounds scorer 1 a G 12 5 low 2 b F 15 7 med 3 c F 19 7 med 4 d G 22 12 med 5th G 32 11 high
المثال 2: إنشاء متغير جديد استنادا إلى عدة متغيرات موجودة
يوضح التعليمة البرمجية التالية كيفية إنشاء متغير جديد يسمى “النوع” بناءً على القيمة الموجودة في عمود اللاعب والموضع:
library(dplyr) #define new variable 'type' using mutate() and case_when() df %>% mutate (type = case_when (player == 'a' | player == 'b' ~ ' starter ', player == 'c' | player == 'd' ~ ' backup ', position == 'G' ~ ' reserve ')) player position points rebounds type 1 a G 12 5 starter 2 b F 15 7 starter 3 c F 19 7 backup 4 d G 22 12 backup 5th G 32 11 reserve
الكود التالي يوضح كيفية إنشاء متغير جديد يسمى “القيمة المضافة” بناءً على قيمة أعمدة النقاط والمرتدات:
library(dplyr) #define new variable 'valueAdded' using mutate() and case_when() df %>% mutate (valueAdded = case_when (points <= 15 & rebounds <=5 ~ 2, points <=15 & rebounds > 5 ~ 4, points < 25 & rebounds < 8 ~ 6, points < 25 & rebounds > 8 ~ 7, points >=25 ~ 9)) player position points rebounds valueAdded 1 to G 12 5 2 2 b F 15 7 4 3c F 19 7 6 4 d G 22 12 7 5th G 32 11 9
مصادر إضافية
كيفية إعادة تسمية الأعمدة في R
كيفية حذف الأعمدة في R
كيفية تصفية الصفوف في R