Как заменить NA строками в R (с примерами)


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

#replace NA values in column x with "missing"
df$x %>% replace_na('none')

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

#replace NA values in column x with "missing" and NA values in column y with "none"
df %>% replace_na (list(x = 'missing', y = 'none')) 

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

Пример 1. Замена NA строками в одном столбце

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

library(tidyr)

df <- data.frame(status=c('single', 'married', 'married', NA),
 education=c('Assoc', 'Bach', NA, 'Master'),
 income=c(34, 88, 92, 90))

#view data frame
df

 status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 <NA> Master 90

#replace missing values with 'single' in status column
df$status <- df$status %>% replace_na('single')

#view updated data frame
df 

 status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 single Master 90

Пример 2. Замена NA строками в нескольких столбцах

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

library(tidyr)

df <- data.frame(status=c('single', 'married', 'married', NA),
 education=c('Assoc', 'Bach', NA, 'Master'),
 income=c(34, 88, 92, 90))

#view data frame
df

 status education income
1 single Assoc 34
2 married Bach 88
3 married <NA> 92
4 <NA> Master 90

#replace missing values with 'single' in status column
df <- df %>% replace_na (list(status = 'single', education = 'none'))

#view updated data frame
df 

 status education income
1 single Assoc 34
2 married Bach 88
3 married none 92
4 single Master 90

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

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

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