كيفية استخدام na.rm في r (مع أمثلة)
يمكنك استخدام الوسيطة na.rm=TRUE لاستبعاد القيم المفقودة عند حساب الإحصائيات الوصفية في R.
#calculate mean and exclude missing values mean(x, na. rm = TRUE ) #calculate sum and exclude missing values sum(x, na. rm = TRUE ) #calculate maximum and exclude missing values max(x, na. rm = TRUE ) #calculate standard deviation and exclude missing values sd(x, na. rm = TRUE )
توضح الأمثلة التالية كيفية استخدام هذه الوسيطة عمليًا مع المتجهات وإطارات البيانات.
مثال 1: استخدام na.rm مع المتجهات
لنفترض أننا نحاول حساب المتوسط والمجموع والحد الأقصى والانحراف المعياري للمتجه التالي في R الذي يحتوي على قيم مفقودة:
#define vector with some missing values
x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16)
mean(x)
[1] NA
sum(x)
[1] NA
max(x)
[1] NA
sd(x)
[1] NA
تقوم كل من هذه الوظائف بإرجاع قيمة NA .
لاستبعاد القيم المفقودة عند إجراء هذه الحسابات، يمكننا ببساطة تضمين الوسيطة na.rm = TRUE على النحو التالي:
#define vector with some missing values x <- c(3, 4, 5, 5, 7, NA, 12, NA, 16) mean(x, na. rm = TRUE ) [1] 7.428571 sum(x, na. rm = TRUE ) [1] 52 max(x, na. rm = TRUE ) [1] 16 sd(x, na. rm = TRUE ) [1] 4.790864
لاحظ أننا تمكنا من إجراء كل عملية حسابية بنجاح مع استبعاد القيم المفقودة.
مثال 2: استخدام na.rm مع إطارات البيانات
لنفترض أن لدينا إطار البيانات التالي في R الذي يحتوي على قيم مفقودة:
#create data frame df <- data. frame (var1=c(1, 3, 3, 4, 5), var2=c(7, 7, NA, 3, 2), var3=c(3, 3, NA, 6, 8), var4=c(1, 1, 2, 8, NA)) #view data frame df var1 var2 var3 var4 1 1 7 3 1 2 3 7 3 1 3 3 NA NA 2 4 4 3 6 8 5 5 2 8 NA
يمكننا استخدام الدالة application() لحساب الإحصائيات الوصفية لكل عمود في إطار البيانات واستخدام الوسيطة na.rm = TRUE لاستبعاد القيم المفقودة عند إجراء هذه الحسابات:
#calculate mean of each column
apply(df, 2, mean, na. rm = TRUE )
var1 var2 var3 var4
3.20 4.75 5.00 3.00
#calculate sum of each column
apply(df, 2, sum, na. rm = TRUE )
var1 var2 var3 var4
16 19 20 12
#calculate max of each column
apply(df, 2, max, na. rm = TRUE )
var1 var2 var3 var4
5 7 8 8
#calculate standard deviation of each column
apply(df, 2, sd, na. rm = TRUE )
var1 var2 var3 var4
1.483240 2.629956 2.449490 3.366502
ومرة أخرى، تمكنا من إكمال كل عملية حسابية بنجاح مع استبعاد القيم المفقودة.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى ذات القيم المفقودة في R:
كيفية استخدام is.null في R
كيفية استخدام na.omit في R
كيفية استخدام is.na في R