【发布时间】:2013-04-14 15:48:39
【问题描述】:
我的问题是关于先前已回答的关于 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 列,因此更优雅的解决方案会很有帮助。
【问题讨论】:
标签: r categorical-data dummy-variable