Я знаю, что многие вопросы задают около ifelse
, но я искал и много пробовал, но не успел, поэтому я размещаю вопрос здесь.заявление ifelse для более чем двух условий
У меня есть кадр данных из 10k участников с 8 переменными, каждая переменная кодируется 0, 1, 9 и NA. Я хотел бы создать одну переменную для суммирования всех 8 переменных.
Условие, которое я хочу создать: если один из 8 переменных имеет значение 1, то новая переменная должна быть 1, если одна имеет 9, а затем возвращает 9, иначе (все в строке являются NA или другими) return 0.
код я создал это, но получить только 1 и NA:
z = with(dt, ifelse(var.1==1|var.2==1|var.3==1|var.4==1|
var.5==1|var.6==1|var.7==1|var.8==1, 1, ifelse(var.1==9|var.2==9|var.3==9|var.4==9|
var.5==9|var.6==9|var.7==9|var.8==9, 9, 0)))
Спасибо.
ваш код кажется хорошо. что это означает: «Созданный мной код - это, но получить только 1 и NA». Не могли бы вы поделиться своим ожидаемым результатом? также, воспроизводимый пример с даже несколькими рядами действительно поможет. – Ujjwal
вывод только 1 и NA, однако, когда я использую только первые 3 или 4 переменные, он отлично работает. – klo
Логическое условие 'x == 1' возвращает' TRUE', если x = 1, 'FALSE', если x! = 1, но' NA', если x = NA. – jlhoward