Создание категориальных переменных из взаимоисключающих фиктивных переменных

Мой вопрос касается разработки ранее отвеченного вопроса ообъединение нескольких фиктивных переменных в одну категориальную переменную.

В ранее заданном вопросе категориальная переменная была создана из фиктивных переменных, которые НЕ были взаимоисключающими. Для моего случая мои фиктивные переменные являются взаимоисключающими, потому что они представляют пересеченные экспериментальные условия в факториальном дизайне 2X2 между субъектами (который также имеет компонент внутри предметов, который я здесь не рассматриваю), поэтому я не думаю, чтоinteraction делает то, что мне нужно сделать.

Например, мои данные могут выглядеть так:

id   conditionA    conditionB    conditionC     conditionD
1    NA            1             NA             NA
2    1             NA            NA             NA
3    NA            NA            1              NA
4    NA            NA            NA             1
5    NA            2             NA             NA
6    2             NA            NA             NA
7    NA            NA            2              NA
8    NA            NA            NA             2

Я хотел бы сейчас сделать категориальные переменные, которые сочетают в себе различные типы условий. Например, люди, которые имели значения для условий A и B, могут быть закодированы с помощью одной категориальной переменной, а люди, которые имели значения для условий C и D.

id   conditionA    conditionB    conditionC     conditionD  factor1    factor2
1    NA            1             NA             NA          1          NA
2    1             NA            NA             NA          1          NA
3    NA            NA            1              NA          NA         1
4    NA            NA            NA             1           NA         1
5    NA            2             NA             NA          2          NA
6    2             NA            NA             NA          2          NA
7    NA            NA            2              NA          NA         2
8    NA            NA            NA             2           NA         2

Прямо сейчас я делаю это, используяifelse() заявления, что довольно просто горячий беспорядок (и не всегда работает). Пожалуйста помоги! Там, наверное, какой-то супер-очевидный «более простой способ».

РЕДАКТИРОВАТЬ:

Видыifelse Команды, которые я использую, следующие:

attach(df)
df$factor<-ifelse(conditionA==1 | conditionB==1, 1, NA)
df$factor<-ifelse(conditionA==2 | conditionB==2, 2, df$factor)

На самом деле я объединяю 6-8 столбцов каждый раз, так что более элегантное решение очень поможет.

Ответы на вопрос(3)

Ваш ответ на вопрос