R | NA→0 or 0→NAの変換
集計を行う際に、NAの取り扱いに注意。
例として、NA+100=NAとなることなど。
1. dplyr::if_else を使用して0 を NA に置換
dat %>% mutate(x = if_else(x == 0, NA_real_, x))
dplyr::if_else はデータ型 を揃える必要があることに注意。
2. mutate_if or mutateを使用してNAを0に変換
dat <- dat %>%
mutate_if(is.numeric, ~ replace_na(.x, 0))
あるいは
dat <- dat %>%
mutate(across(where(is.numeric), ~ replace_na(.x, 0)))
mutate(across())の場合は、across()の中に関数も入れることに注意。