Replace NAs with specified values

replace_na(data, replace, ...)

Arguments

data

A data frame or vector.

replace

If data is a data frame, replace takes a list of values, with one value for each column that has NA values to be replaced.

If data is a vector, replace takes a single value. This single value replaces all of the NA values in the vector.

...

Additional arguments for methods. Currently unused.

Value

  • If data is a data frame, replace_na() returns a data frame.

  • If data is a vector, replace_na() returns a vector, with class given by the union of data and replace.

See also

dplyr::na_if() to replace specified values with NAs; dplyr::coalesce() to replaces NAs with values from other vectors.

Examples

# Replace NAs in a data frame df <- tibble(x = c(1, 2, NA), y = c("a", NA, "b")) df %>% replace_na(list(x = 0, y = "unknown"))
#> # A tibble: 3 × 2 #> x y #> <dbl> <chr> #> 1 1 a #> 2 2 unknown #> 3 0 b
# Replace NAs in a vector df %>% dplyr::mutate(x = replace_na(x, 0))
#> # A tibble: 3 × 2 #> x y #> <dbl> <chr> #> 1 1 a #> 2 2 NA #> 3 0 b
# OR df$x %>% replace_na(0)
#> [1] 1 2 0
df$y %>% replace_na("unknown")
#> [1] "a" "unknown" "b"
# Replace NULLs in a list: NULLs are the list-col equivalent of NAs df_list <- tibble(z = list(1:5, NULL, 10:20)) df_list %>% replace_na(list(z = list(5)))
#> # A tibble: 3 × 1 #> z #> <list> #> 1 <int [5]> #> 2 <dbl [1]> #> 3 <int [11]>