最初の変数の 1 が新しい変数で 0 になり、2 番目の変数のすべての数字が保持されるように、2 つのバイナリ変数を新しい変数に再コーディングしています。以下のコードは、作成したいロジックを示しています。ただし、このコードを実行すると、ifelse() を使用した再コーディングは、x1 の 1 を 0 として使用する最初の ifelse() 行を組み込むことなく、x2 を再作成するだけです。
set.seed(123)
x1 <- sample(c(0,1,NA), 20, replace = TRUE)
x2 <- sample(c(0,1,NA), 20, replace = TRUE)
recode <- ifelse(x1 == 1, 0, NA)
recode <- ifelse(x2 == 1, 1, recode)
recode <- ifelse(x2 == 0, 0, recode)
table(recode); table(x2)
ありがとう