Replace values with NA based on some condition, for variables that meet some predicate
replace_with_na_if(data, .predicate, condition)
Dataframe
A predicate function to be applied to the columns or a logical vector.
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 < 20
would mean "where a variable value is less
than 20, replace with NA".
Dataframe
# NOT RUN {
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
replace_with_na_if(data = dat_ms,
.predicate = is.character,
condition = ~.x == "N/A")
replace_with_na_if(data = dat_ms,
.predicate = is.character,
condition = ~.x %in% common_na_strings)
replace_with_na(dat_ms,
to_na = list(x = c(-99, -98),
y = c("N/A"),
z = c(-101)))
# }
Run the code above in your browser using DataLab