Вы можете использовать один из следующих двух методов для удаления столбцов из фрейма данных в R, которые содержат значения NA:
Метод 1: используйте базу R
df[ , colSums(is.na(df))== 0 ]
Способ 2: используйте 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 с использованием базы R
В следующем коде показано, как удалить столбцы со значениями NA с помощью функций из базы R:
#define new data frame
new_df <- df[ , colSums(is.na(df))== 0 ]
#view new data frame
new_df
team assists
1 A 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 A 33
2 B 28
3 C 31
4 D 39
5 E 34
И снова два столбца со значениями NA (очки и подборы) были удалены из фрейма данных.
Дополнительные ресурсы
В следующих руководствах объясняется, как выполнять другие распространенные задачи в R:
Как добавить столбец во фрейм данных в R
Как переименовать столбцы фрейма данных в R
Как отсортировать фрейм данных по столбцу в R