This provides a convenient way to convert a number/value that should indeed be an "NA" to "NA". In otherwords, it converts a value to R's recognized NA.
recode_as_na(
df,
value = NULL,
subset_cols = NULL,
pattern_type = NULL,
pattern = NULL,
case_sensitive = FALSE,
...
)
A data.frame object for which recoding is to be done.
The value to convert to `NA`. We can for instance change "n/a" to `NA` or any other value.
An optional character vector to define columns for which changes are required.
One of contains', 'starts_with' or 'ends_with'.
A character pattern to match
Defaults to FALSE. Patterns are case insensitive if TRUE
Other arguments to other functions
An object of the same class as x with values changed to `NA`.
head(recode_as_na(airquality,value=c(67,118),pattern_type="starts_with",pattern="S|O"))
#> Ozone Solar.R Wind Temp Month Day
#> 1 41 190 7.4 67 5 1
#> 2 36 NA 8.0 72 5 2
#> 3 12 149 12.6 74 5 3
#> 4 18 313 11.5 62 5 4
#> 5 NA NA 14.3 56 5 5
#> 6 28 NA 14.9 66 5 6
head(recode_as_na(airquality,value=c(41),pattern_type="ends_with",pattern="e"))
#> Ozone Solar.R Wind Temp Month Day
#> 1 NA 190 7.4 67 5 1
#> 2 36 118 8.0 72 5 2
#> 3 12 149 12.6 74 5 3
#> 4 18 313 11.5 62 5 4
#> 5 NA NA 14.3 56 5 5
#> 6 28 NA 14.9 66 5 6
head(recode_as_na(airquality, value=41,subset_cols="Ozone"))
#> Ozone Solar.R Wind Temp Month Day
#> 1 NA 190 7.4 67 5 1
#> 2 36 118 8.0 72 5 2
#> 3 12 149 12.6 74 5 3
#> 4 18 313 11.5 62 5 4
#> 5 NA NA 14.3 56 5 5
#> 6 28 NA 14.9 66 5 6