Мы можем использовать ifelse/case_when
вместо if/else
ifelse
векторизовано
library(dplyr)
NH1S1 %>%
mutate(unadj_SALARY = as.numeric(as.character(unadj_SALARY)),
adj_SALARY =
case_when(
YEAR_2014 == 1 ~ unadj_SALARY *(242.839/230.280),
YEAR_2015 == 1 ~ unadj_SALARY *(242.839/233.916),
YEAR_2016 == 1 ~ unadj_SALARY *(242.839/233.707),
YEAR_2017 == 1 ~ unadj_SALARY *(242.839/236.916),
YEAR_2018 == 1 ~ unadj_SALARY))
ПРИМЕЧАНИЕ: вместо того, чтобы делать numeric
преобразование в 'unadj_SALARY' несколько раз, лучше сделать это один раз, а затем использовать это для дальнейшего преобразования / расчетов