كيفية إزالة الأعمدة ذات قيم na في r
يمكنك استخدام إحدى الطريقتين لإزالة الأعمدة من إطار البيانات في R الذي يحتوي على قيم NA:
الطريقة الأولى: استخدم Base R
df[, colSums(is. na (df))== 0 ]
الطريقة الثانية: استخدم dplyr
library (dplyr) df %>% select_if(~ !any(is. na (.)))
كلا الطريقتين تنتج نفس النتيجة.
توضح الأمثلة التالية كيفية استخدام كل طريقة عمليًا مع إطار البيانات التالي:
#create data frame
df <- data. frame (team=c('A', 'B', 'C', 'D', 'E'),
points=c(99, NA, NA, 88, 95),
assists=c(33, 28, 31, 39, 34),
rebounds=c(30, 28, 24, 24, NA))
#view data frame
df
team points assists rebounds
1 A 99 33 30
2 B NA 28 28
3 C NA 31 24
4 D 88 39 24
5 E 95 34 NA
مثال 1: إزالة الأعمدة ذات قيم NA باستخدام Base R
يوضح الكود التالي كيفية حذف الأعمدة ذات قيم NA باستخدام وظائف R الأساسية:
#define new data frame new_df <- df[ , colSums(is. na (df))== 0 ] #view new data frame new_df team assists 1 to 33 2 B 28 3 C 31 4 D 39 5 E 34
لاحظ أنه تمت إزالة العمودين بقيم NA (النقاط والمرتدات) من إطار البيانات.
مثال 2: إزالة الأعمدة ذات قيم NA باستخدام dplyr
يوضح الكود التالي كيفية إزالة الأعمدة ذات قيم NA باستخدام الوظائف الموجودة في حزمة dplyr :
library (dplyr)
#define new data frame
new_df <- df %>% select_if(~ !any(is. na (.)))
#view new data frame
new_df
team assists
1 to 33
2 B 28
3 C 31
4 D 39
5 E 34
مرة أخرى، تمت إزالة العمودين بقيم NA (النقاط والمرتدات) من إطار البيانات.
مصادر إضافية
تشرح البرامج التعليمية التالية كيفية تنفيذ المهام الشائعة الأخرى في R:
كيفية إضافة عمود إلى إطار البيانات في R
كيفية إعادة تسمية أعمدة إطار البيانات في R
كيفية فرز إطار البيانات حسب العمود في R