
Replace specified variables with NA where a certain condition is met
Source:R/scoped-replace-with-na.R
      replace_with_na_at.RdReplace specified variables with NA where a certain condition is met
Arguments
- data
- dataframe 
- .vars
- A character string of variables to replace with NA values 
- condition
- A condition required to be TRUE to set NA. Here, the condition is specified with a formula, following the syntax: - ~.x {condition}. For example, writing- ~.x < 20would mean "where a variable value is less than 20, replace with NA".
Examples
dat_ms <- tibble::tribble(~x,  ~y,    ~z,
                          1,   "A",   -100,
                          3,   "N/A", -99,
                          NA,  NA,    -98,
                          -99, "E",   -101,
                          -98, "F",   -1)
dat_ms
#> # A tibble: 5 × 3
#>       x y         z
#>   <dbl> <chr> <dbl>
#> 1     1 A      -100
#> 2     3 N/A     -99
#> 3    NA NA      -98
#> 4   -99 E      -101
#> 5   -98 F        -1
replace_with_na_at(data = dat_ms,
                 .vars = "x",
                 condition = ~.x == -99)
#> # A tibble: 5 × 3
#>       x y         z
#>   <dbl> <chr> <dbl>
#> 1     1 A      -100
#> 2     3 N/A     -99
#> 3    NA NA      -98
#> 4    NA E      -101
#> 5   -98 F        -1
replace_with_na_at(data = dat_ms,
                 .vars = c("x","z"),
                 condition = ~.x == -99)
#> # A tibble: 5 × 3
#>       x y         z
#>   <dbl> <chr> <dbl>
#> 1     1 A      -100
#> 2     3 N/A      NA
#> 3    NA NA      -98
#> 4    NA E      -101
#> 5   -98 F        -1
# replace using values in common_na_strings
replace_with_na_at(data = dat_ms,
                 .vars = c("x","z"),
                 condition = ~.x %in% common_na_strings)
#> # A tibble: 5 × 3
#>       x y         z
#>   <dbl> <chr> <dbl>
#> 1     1 A      -100
#> 2     3 N/A     -99
#> 3    NA NA      -98
#> 4   -99 E      -101
#> 5   -98 F        -1