كيفية استبدال nas بسلاسل في لغة r (مع أمثلة)


يمكنك استخدام الدالة استبدال_na() من حزمة Tidyr لاستبدال NAs بسلاسل محددة في عمود إطار البيانات في R:

 #replace NA values in column x with "missing"
df$x %>% replace_na (' none ')

يمكنك أيضًا استخدام هذه الوظيفة لاستبدال NAs بسلاسل محددة في أعمدة متعددة لإطار البيانات:

 #replace NA values in column x with "missing" and NA values in column y with "none"
df %>% replace_na (list(x = ' missing ', y = ' none '))

توضح الأمثلة التالية كيفية استخدام هذه الوظيفة عمليًا.

مثال 1: استبدال NAs بسلاسل في عمود

يوضح التعليمة البرمجية التالية كيفية استبدال NAs بسلسلة محددة في عمود إطار البيانات:

 library (tidyr)

df <- data. frame (status=c('single', 'married', 'married', NA),
                 education=c('Assoc', 'Bach', NA, 'Master'),
                 income=c(34, 88, 92, 90))

#view data frame
df

   status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 <NA> Master 90

#replace missing values with 'single' in status column
df$status <- df$status %>% replace_na (' single ')

#view updated data frame
df 

   status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 single Master 90

مثال 2: استبدال NAs بسلاسل في أعمدة متعددة

يوضح التعليمة البرمجية التالية كيفية استبدال NAs بسلسلة محددة في أعمدة متعددة لإطار البيانات:

 library (tidyr)

df <- data. frame (status=c('single', 'married', 'married', NA),
                 education=c('Assoc', 'Bach', NA, 'Master'),
                 income=c(34, 88, 92, 90))

#view data frame
df

   status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 <NA> Master 90

#replace missing values with 'single' in status column
df <- df %>% replace_na (list(status = ' single ', education = ' none '))

#view updated data frame
df 

   status education income
1 single Assoc 34
2 married Bach 88
3 married none 92
4 single Master 90

مصادر إضافية

كيفية حذف الصفوف التي تحتوي على بعض أو كل NAs في R
كيفية استبدال NA بصفر في dplyr

Add a Comment

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