ifelse дает мне NAs, когда я хочу 0s

#if-statement #na #zero

Вопрос:

Я пытаюсь создать переменную, используя ifelse, и хотел бы, чтобы столбец был равен 0, когда условие неверно, но они отображаются как NA. Какие-нибудь советы?

 df$z <- ifelse (df$x == 1 |
                df$y == 1, 1,
                ifelse (df$x == 2 |
                        df$y == 2 ,2, 0))
 

Я понимаю, что приведенный выше код должен сделать все, что не 1 или 2, закодированным как 0, но я получаю только 1, 2 и NA. Никаких нулей.