Вы можете использовать один из следующих трех методов для удаления строк с 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