我將兩個二進制變量重新編碼爲新變量,使得第一個變量中的任何1都在新的變量中取0,並保留第二個變量中的所有數字。下面的代碼顯示了我想要製作的邏輯。但是,當我運行這段代碼時,使用ifelse()的重新編碼只是重新創建了x2,而沒有合併使用x1的1作爲0的第一個ifelse()行。使用NAs重新編碼變量,並在R中使用ifelse()
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)
感謝