==
возвращает NA
, если есть какой-либо NA. Можно было бы cbind
переменные 'var1', 'var2', 'var3' (неясно, является ли это столбцом data.frame или независимыми векторами), сравнить с "Yes"
, чтобы создать логическую матрицу, используйте rowSums
, чтобы получить сумму строк «Да». Обратите внимание на na.rm = TRUE
, который позаботится об элементах NA
(если есть). Используя суммы строк, убедитесь, что значение больше 0, затем «Да» или «Нет»
ifelse(rowSums(cbind(var1, var2, var3)== "Yes"), na.rm = TRUE) > 0, "Yes", "No")
Чтобы проверить, почему он производит NA
v1 <- c("Yes", "No", NA)
v2 <- c("No", NA, "Yes")
(v1 == "Yes")|(v2 == "Yes")
#[1] TRUE NA TRUE