كيفية إعادة ترميز القيم باستخدام dplyr
في بعض الأحيان قد تكون مهتمًا بإعادة ترميز قيم معينة في إطار بيانات في R. ولحسن الحظ، يمكن القيام بذلك بسهولة باستخدام وظيفة recode() من الحزمة dplyr.
يوضح هذا البرنامج التعليمي عدة أمثلة للاستخدام العملي لهذه الوظيفة.
مثال 1: إعادة ترميز عمود واحد في إطار بيانات
يوضح الكود التالي كيفية إعادة ترميز عمود واحد في إطار البيانات:
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #view dataframe df #change 'Win' and 'Loss' to '1' and '0' df %>% mutate (result=recode(result, ' Win '='1', ' Loss '='0')) player points result 1 to 24 1 2 B 29 0 3 C 13 1 4 D 15 0
مثال 2: إعادة ترميز عمود واحد في إطار بيانات وتوفير قيم NA
يوضح التعليمة البرمجية التالية كيفية إعادة ترميز عمود واحد في إطار بيانات وتعيين القيمة NA لأي قيمة لم يتم تعيين قيمة جديدة لها بشكل صريح:
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #view dataframe df #change 'Win' to '1' and give all other values a value of NA df %>% mutate (result=recode(result, ' Win '='1', .default =NA_character_)) player points result 1 to 24 1 2 B 29 <NA> 3 C 13 1 4 D 15 <NA>
مثال 3: إعادة ترميز أعمدة متعددة في إطار بيانات
يوضح التعليمة البرمجية التالية كيفية إعادة ترميز أعمدة متعددة مرة واحدة في إطار البيانات:
library(dplyr) #create dataframe df <- data.frame(player = c('A', 'B', 'C', 'D'), points = c(24, 29, 13, 15), result = c('Win', 'Loss', 'Win', 'Loss')) #recode 'player' and 'result' columns df %>% mutate (player=recode(player, ' A '='Z'), result=recode(result, ' Win '='1', ' Loss '='0')) player points result 1 Z 24 1 2 B 29 0 3 C 13 1 4 D 15 0
يمكنك العثور على الوثائق الكاملة لوظيفة recode() هنا .