我的問題涉及對關於combining multiple dummy variables into a single categorical variable的以前回答的問題的闡述。從互斥虛擬變量創建分類變量
在之前提出的問題中,分類變量是從不相互排斥的虛擬變量創建的。對於我的情況,我的虛擬變量是相互排斥的,因爲它們代表了交叉實驗條件下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列,所以一個更優雅的解決方案會幫助很多。
謝謝!良好的發現......當我編寫樣本數據時,最後兩行中有一個錯字。 – roody 2013-04-21 20:22:27
@roody:'conditionD'是否包含值,比如3?那麼應該發生什麼? – krlmlr 2013-04-21 20:23:27
不,他們都是兩個層次因素變量 - 1和2只是Qualtrics分配給他們的值,但它總是一個非常愚蠢的選擇。 – roody 2013-04-21 20:26:19