كيفية إزالة الأعمدة ذات قيم 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

Add a Comment

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