从现有变量中生成新的二项式变量

时间:2019-11-16 22:27:58

标签: r categorical-data

假设我有以下数据:

Var1 = (1,1,0,1,0,1,0,1,1,0,1,1,0,0,0,1,0)
Var2 = (1,0,0,1,1,0,0,1,0,1,0,1,1,1,0,1,1)
Var3 = (0,0,0,1,1,1,0,0,1,0,1,0,0,0,1,0,0)

在R中使用if / else语法,我需要创建新的Var4,以便

if var1=1 & var2=1 & var3=1 then var4=1
if var1=0 & var2=0 & var3=0 then var4=0
if var1=1 & var2=0 & var3=0 the var4=1 and so on.

基本上,var4=0仅在所有三个变量都= 0时。

1 个答案:

答案 0 :(得分:2)

我们可以cbind'var'向量,获取rowSums并检查它是否大于0,然后用+强制将逻辑转换为二进制。

+(rowSums(cbind(Var1, Var2, Var3)) > 0)

或使用|

as.integer(Var1|Var2|Var3)