Как удалить строки с некоторыми или всеми NA в R


Часто вам может понадобиться удалить строки со всеми или некоторыми NA (отсутствующими значениями) во фрейме данных в R.

В этом руководстве объясняется, как удалить эти строки с помощью базы R и пакета tidyr.Мы будем использовать следующий фрейм данных для каждого из следующих примеров:

#create data frame with some missing values
df <- data.frame(points = c(12, NA, 19, 22, 32),
 assists = c(4, NA, 3, NA, 5),
 rebounds = c(5, NA, 7, 12, NA))

#view data frame
df

 points assists rebounds
1 12 4 5
2 NA NA NA
3 19 3 7
4 22 NA 12
5 32 5 NA

Удалить NA с помощью Base R

В следующем коде показано, как использовать complete.cases() для удаления всех строк во фрейме данных, в которых отсутствует значение в каком -либо столбце:

#remove all rows with a missing value in *any* column
df[ complete.cases(df), ]

 points assists rebounds
1 12 4 5
3 19 3 7

В следующем коде показано, как использовать complete.cases() для удаления всех строк во фрейме данных, в которых отсутствуют значения в определенных столбцах:

#remove all rows with a missing value in the *third* column
df[ complete.cases(df[ , 3]),]

 points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

#remove all rows with a missing value in either the *first* or *third* column
df[ complete.cases(df[ , c(1,3)]),]

 points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

Удаление NA с помощью Tidyr

В следующем коде показано, как использовать drop_na() из пакета tidyr для удаления всех строк во фрейме данных, в которых отсутствует значение в каком -либо столбце:

#load tidyr package
library(tidyr)

#remove all rows with a missing value in *any* column
df %>% drop_na()

 points assists rebounds
1 12 4 5
3 19 3 7

В следующем коде показано, как использовать drop_na() из пакета tidyr для удаления всех строк во фрейме данных, в которых отсутствуют значения в определенных столбцах:

#load tidyr package
library(tidyr)

#remove all rows with a missing value in the *third* column
df %>% drop_na(rebounds)

 points assists rebounds
1 12 4 5
3 19 3 7
4 22 NA 12

Вы можете найти больше руководств по R здесь .