Оператор %in%
позволяет проверять вектор возможных значений.
brfss2013_subset2$goodhealth = ifelse(brfss2013_subset2$genhlth %in% c("Excellent", "Very good", "Good"), 1, 0)
Вам не нужно проверять NA
, потому что ifelse()
автоматически вернет NA
, если введено значение NA
.
Вы также можете воспользоваться тем, что TRUE
имеет числовое представление 1, а FALSE
- 0 и написать:
brfss2013_subset2$goodhealth = as.numeric(brfss2013_subset2$genhlth %in% c("Excellent", "Very good", "Good"))