كيفية استبدال القيم في إطار البيانات في لغة r (مع أمثلة)
يمكنك استخدام بناء الجملة التالي لاستبدال قيمة معينة في إطار بيانات في R بقيمة جديدة:
df[df == ' Old Value '] <- ' New value '
يمكنك استخدام بناء الجملة التالي لاستبدال إحدى القيم العديدة في إطار البيانات بقيمة جديدة:
df[df == ' Old Value 1 ' | df == ' Old Value 2 '] <- ' New value '
ويمكنك استخدام بناء الجملة التالي لاستبدال قيمة معينة في عمود محدد لإطار البيانات بقيمة جديدة:
df['column1'][df['column1'] == ' Old Value '] <- ' New value '
توضح الأمثلة التالية كيفية استخدام بناء الجملة هذا عمليًا.
مثال 1: استبدال قيمة معينة في إطار البيانات بأكمله
يوضح التعليمة البرمجية التالية كيفية استبدال قيمة معينة بقيمة جديدة عبر إطار بيانات بأكمله:
#create data frame df <- data. frame (a = as. factor (c(1, 5, 7, 8)), b = c('A', 'B', 'C', 'D'), c = c(14, 14, 19, 22), d = c(3, 7, 14, 11)) #view data frame df abcd 1 1 To 14 3 2 5 B 14 7 3 7 C 19 14 4 8 D 22 11 #replace '14' with '24' across entire data frame df[df == 14] <- 24 #view updated data frame df abcd 1 1 To 24 3 2 5 B 24 7 3 7 C 19 24 4 8 D 22 11
مثال 2: استبدال إحدى القيم المتعددة في إطار البيانات بأكمله
يوضح الكود التالي كيفية استبدال إحدى القيم المتعددة بقيمة جديدة عبر إطار بيانات كامل:
#create data frame df <- data. frame (a = as. factor (c(1, 5, 7, 8)), b = c('A', 'B', 'C', 'D'), c = c(14, 14, 19, 22), d = c(3, 7, 14, 11)) #view data frame df abcd 1 1 To 14 3 2 5 B 14 7 3 7 C 19 14 4 8 D 22 11 #replace '14' and '19' with '24' across entire data frame df[df == 14 | df == 19] <- 24 #view updated data frame df abcd 1 1 To 24 3 2 5 B 24 7 3 7 C 24 24 4 8 D 22 11
مثال 3: استبدل القيمة في عمود محدد بإطار البيانات
يوضح التعليمة البرمجية التالية كيفية استبدال قيمة معينة بقيمة جديدة في عمود محدد في إطار البيانات:
#create data frame df <- data. frame (a = as. factor (c(1, 5, 7, 8)), b = c('A', 'B', 'C', 'D'), c = c(14, 14, 19, 22), d = c(3, 7, 14, 11)) #view data frame df abcd 1 1 To 14 3 2 5 B 14 7 3 7 C 19 14 4 8 D 22 11 #replace '14' in column c with '24' df['c'][df['c'] == 14] <- 24 #view updated data frame df abcd 1 1 To 24 3 2 5 B 24 7 3 7 C 19 14 4 8 D 22 11
مثال 4: استبدال قيم متغير العامل في إطار البيانات
إذا حاولت تجاوز قيمة معينة لمتغير عامل، فسوف تواجه رسالة التحذير التالية:
#create data frame df <- data. frame (a = as. factor (c(1, 5, 7, 8)), b = c('A', 'B', 'C', 'D'), c = c(14, 14, 19, 22), d = c(3, 7, 14, 11)) #attempt to replace '1' with '24' in column a df['a'][df['a'] == 1] <- 24 Warning message: In `[<-.factor`(`*tmp*`, thisvar, value = 24): invalid factor level, NA generated abcd 1 <NA> A 14 3 2 5 B 14 7 3 7 C 19 14 4 8 D 22 11
لتجنب هذا التحذير، عليك أولاً تحويل متغير العامل إلى متغير رقمي:
#convert column a to numeric df$a <- as. numeric (as. character (df$a)) #replace '1' with '24' in column a df['a'][df['a'] == 1] <- 24 #view updated data frame df abcd 1 24 A 14 3 2 5 B 14 7 3 7 C 19 14 4 8 D 22 11
مصادر إضافية
كيفية استبدال NAs بسلاسل في R
كيفية احتساب جميع القيم المفقودة في R