كيفية استيفاء القيم المفقودة في r (بما في ذلك مثال)


يمكنك استخدام بناء الجملة الأساسي التالي لاستكمال القيم المفقودة في عمود إطار البيانات في R:

 library (dplyr)
library (zoo)

df <- df %>%
        mutate(column_name = na. approx (column_name))

يوضح المثال التالي كيفية استخدام بناء الجملة هذا عمليًا.

مثال: استيفاء القيم المفقودة في R

لنفترض أن لدينا إطار البيانات التالي في R الذي يوضح إجمالي المبيعات التي أجراها المتجر لمدة 15 يومًا متتاليًا:

 #create data frame
df <- data. frame (day=1:15,
                 sales=c(3, 6, 8, 10, 14, 17, 20, NA, NA, NA, NA, 35, 39, 44, 49))

#view data frame
df

   day sales
1 1 3
2 2 6
3 3 8
4 4 10
5 5 14
6 6 17
7 7 20
8 8 NA
9 9 NA
10 10 NA
11 11 NA
12 12 35
13 13 39
14 14 44
15 15 49

لاحظ أننا نفتقد أرقام المبيعات لمدة أربعة أيام في إطار البيانات.

إذا أنشأنا مخططًا خطيًا بسيطًا لتصور المبيعات بمرور الوقت، فهذا هو الشكل الذي سيبدو عليه:

 #create line chart to visualize sales
plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ') 

استيفاء القيم المفقودة في R

لملء القيم المفقودة، يمكننا استخدام الدالة na.approx() من الحزمة Zoo بالإضافة إلى الدالة mutate() من الحزمة dplyr :

 library (dplyr)
library (zoo)

#interpolate missing values in 'sales' column
df <- df %>%
        mutate(sales = na. approx (sales))

#view updated data frame
df

   day sales
1 1 3
2 2 6
3 3 8
4 4 10
5 5 14
6 6 17
7 7 20
8 8 23
9 9 26
10 10 29
11 11 32
12 12 35
13 13 39
14 14 44
15 15 49

لاحظ أنه تم استبدال كل من القيم المفقودة.

إذا قمنا بإنشاء مخطط خطي آخر لتصور إطار البيانات المحدث، فهذا هو الشكل الذي سيبدو عليه:

 #create line chart to visualize sales
plot(df$sales, type=' o ', pch= 16 , col=' steelblue ', xlab=' Day ', ylab=' Sales ') 

لاحظ أن القيم التي اختارتها الدالة na.approx() تبدو وكأنها تتطابق مع اتجاه البيانات بشكل جيد.

مصادر إضافية

توفر البرامج التعليمية التالية معلومات إضافية حول كيفية التعامل مع القيم المفقودة في R:

كيفية البحث عن القيم المفقودة وحسابها في R
كيفية احتساب جميع القيم المفقودة في R
كيفية استخدام الدالة is.na في R

Add a Comment

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