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


Вы можете использовать один из следующих трех методов для удаления строк с NA в одном конкретном столбце фрейма данных в R:

#use is.na() method
df[!is.na(df$col_name),]

#use subset() method
subset(df, !is. na (col_name))

#use tidyr method
library(tidyr)
df %>% drop_na(col_name)

Обратите внимание, что каждый из этих методов даст одинаковые результаты.

В следующих примерах показано, как использовать каждый из этих методов на практике со следующим фреймом данных:

#create data frame
df <- data.frame(a = c(NA, 14, 19, 22, 26),
 b = c(14, NA, 9, NA, 5),
 c = c(45, 56, 54, 57, 59))

#view data frame
df

 **a b c
1 NA 14 45
2 14 NA 56
3 19 9 54
4 22 NA 57
5 26 5 59

Метод 1: удалить строки с NA с помощью is.na()

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

#remove rows from data frame with NA values in column 'b'
df[!is.na(df$b),]

 a b c
1 NA 14 45
3 19 9 54
5 26 5 59

Способ 2: удалить строки с NA с помощью subset()

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

#remove rows from data frame with NA values in column 'b'
subset(df, !is. na (b))

 a b c
1 NA 14 45
3 19 9 54
5 26 5 59

Способ 3: удалить строки с NA с помощью drop_na()

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

library(tidyr)

#remove rows from data frame with NA values in column 'b'
df %>% drop_na(b)

 a b c
1 NA 14 45
3 19 9 54
5 26 5 59

Обратите внимание, что каждый из трех методов дал один и тот же результат.

Примечание. Полную онлайн-документацию по методу drop_na() можно найти здесь .

Дополнительные ресурсы

Как применить функцию к каждой строке во фрейме данных в R
Как получить номера строк в R
Как добавить строки во фрейм данных в R

Замечательно! Вы успешно подписались.
Добро пожаловать обратно! Вы успешно вошли
Вы успешно подписались на кодкамп.
Срок действия вашей ссылки истек.
Ура! Проверьте свою электронную почту на наличие волшебной ссылки для входа.
Успех! Ваша платежная информация обновлена.
Ваша платежная информация не была обновлена.