كيفية استبدال قيم متعددة في إطار البيانات باستخدام dplyr
يمكنك استخدام بناء الجملة الأساسي التالي لاستبدال قيم متعددة في إطار بيانات في R باستخدام الوظائف الموجودة في حزمة dplyr :
library (dplyr) df %>% mutate(var1 = recode(var1, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '), var2 = recode(var2, ' oldvalue1 ' = ' newvalue1 ', ' oldvalue2 ' = ' newvalue2 '))
يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.
مثال: استبدال قيم متعددة باستخدام dplyr
لنفترض أن لدينا إطار البيانات التالي في R الذي يحتوي على معلومات حول لاعبي كرة السلة المختلفين:
#create data frame
df <- data. frame (conf=c('East', 'East', 'West', 'West', 'North'),
position=c('Guard', 'Guard', 'Guard', 'Guard', 'Forward'),
dots=c(22, 25, 29, 13, 18))
#view data frame
df
conf position points
1 East Guard 22
2 East Guard 25
3 West Guard 29
4 West Guard 13
5 North Forward 18
لنفترض الآن أننا نريد استبدال القيم التالية في إطار البيانات:
- عمود “المؤتمر”:
- استبدل كلمة “الشرق” بكلمة “E”
- تغيير “الغرب” إلى “W”
- استبدل كلمة “الشمال” بكلمة “ن”
- عمود “المنصب”:
- تغيير “الحرس” إلى “G”
- تغيير “إلى الأمام” إلى “F”
يمكننا استخدام الدالتين mutate() و recode() للقيام بذلك:
library (dplyr) #replace multiple values in conf and position columns df %>% mutate(conf = recode(conf, ' East ' = ' E ', ' West ' = ' W ', ' North ' = ' N '), position = recode(position, ' Guard ' = ' G ', ' Forward ' = ' F ')) conf position points 1EG 22 2 EG 25 3 WG 29 4 WG 13 5 NF 18
لاحظ أنه تم استبدال كل من القيم الموجودة في عمود “conf” و”position” بقيم محددة.
لاحظ أيضًا أن القيم الموجودة في عمود “النقاط” ظلت دون تغيير.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى باستخدام dplyr:
كيفية إعادة ترميز القيم باستخدام dplyr
كيفية استبدال NA بصفر في dplyr
كيفية تصفية الصفوف التي تحتوي على سلسلة معينة باستخدام dplyr