ج: احسب عدد قيم na في كل عمود
يمكنك استخدام الطرق التالية لحساب عدد قيم NA في كل عمود من إطار البيانات في R:
الطريقة الأولى: حساب قيم NA في كل عمود باستخدام الأساس R
sapply(df, function (x) sum(is. na (x)))
الطريقة الثانية: حساب قيم NA في كل عمود باستخدام dplyr
library (dplyr) df %>% summarise(across(everything(), ~ sum(is. na (.))))
توضح الأمثلة التالية كيفية استخدام كل طريقة مع إطار البيانات التالي في R:
#create data frame df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'), points=c(99, 90, 86, 88, NA), assists=c(33, NA, NA, 39, 34), rebounds=c(30, 28, 24, 24, 28)) #view data frame df team points assists rebounds 1 A 99 33 30 2 B 90 NA 28 3 C 86 NA 24 4 D 88 39 24 5 E NA 34 28
مثال 1: حساب قيم NA في كل عمود باستخدام الأساس R
يوضح الكود التالي كيفية حساب عدد قيم NA في كل عمود باستخدام الدالة R base sapply() :
#count NA values in each column sapply(df, function (x) sum(is. na (x))) team points assists rebounds 0 1 2 0
ومن النتيجة يمكننا أن نرى:
- يحتوي عمود الفريق على 0 قيم NA.
- يحتوي عمود النقاط على قيمة NA واحدة.
- يحتوي عمود المساعدة على قيمتين NA.
- يحتوي عمود الارتدادات على 0 قيم NA.
ملاحظة : يمكن استخدام الدالة sapply() لتطبيق دالة على كل عمود في إطار البيانات. في هذا المثال، نطبق دالة تحسب العدد الإجمالي للعناصر التي تساوي NA.
مثال 2: حساب قيم NA في كل عمود باستخدام dplyr
يوضح الكود التالي كيفية حساب عدد قيم NA في كل عمود باستخدام الدالة summarise() من الحزمة dplyr :
#count NA values in each column sapply(df, function (x) sum(is. na (x))) team points assists rebounds 0 1 2 0
ومن النتيجة يمكننا أن نرى:
- يحتوي عمود الفريق على 0 قيم NA.
- يحتوي عمود النقاط على قيمة NA واحدة.
- يحتوي عمود المساعدة على قيمتين NA.
- يحتوي عمود الارتدادات على 0 قيم NA.
هذه النتائج تتوافق مع تلك الموجودة في المثال السابق.
ملحوظة : تميل طريقة dplyr إلى أن تكون أسرع من طريقة R الأساسية عند العمل مع إطارات بيانات كبيرة جدًا.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية استخدام na.omit في R
كيفية استخدام Complete.cases في R
كيفية إزالة الأسطر الفارغة من إطار البيانات في R