Tworzenie zmiennych kategorycznych z wzajemnie wykluczających się zmiennych fikcyjnych
Moje pytanie dotyczy opracowania wcześniej odpowiedzi na pytanie dotyczącełączenie wielu zmiennych fikcyjnych w jedną zmienną kategoryczną.
W zadanym wcześniej pytaniu zmienna kategoryczna została utworzona ze zmiennych obojętnych, które NIE wzajemnie się wykluczały. W moim przypadku moje atrapy zmienne wzajemnie się wykluczają, ponieważ reprezentują skrzyżowane warunki eksperymentalne w układzie czynnikowym 2X2 między podmiotami (który ma również komponent wewnątrz przedmiotu, którego tutaj nie zajmuję), więc nie sądzęinteraction
robi to, co muszę zrobić.
Na przykład moje dane mogą wyglądać tak:
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
Chciałbym teraz utworzyć zmienne kategoryczne, które łączą różne rodzaje warunków. Na przykład ludzie, którzy mieli wartości dla warunku A i B, mogą być zakodowani za pomocą jednej zmiennej jakościowej, a ludzie, którzy mieli wartości dla warunku C i 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
Właśnie teraz to robięifelse()
instrukcje, które są po prostu gorącym bałaganem (i nie zawsze działają). Proszę pomóż! Prawdopodobnie istnieje jakiś super oczywisty „łatwiejszy sposób”.
EDYTOWAĆ:
Rodzajeifelse
Polecenia, których używam, są następujące:
attach(df)
df$factor<-ifelse(conditionA==1 | conditionB==1, 1, NA)
df$factor<-ifelse(conditionA==2 | conditionB==2, 2, df$factor)
W rzeczywistości łączę 6-8 kolumn za każdym razem, więc bardziej eleganckie rozwiązanie byłoby bardzo pomocne.