如何从两个现有分类变量创建新变量

时间:2019-11-06 19:35:00

标签: r variables categorical-data

我需要从两个现有的二分变量生成一个新变量。示例:

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

新变量应如下所示:

Var3= c(1,1,1,1,0)

基本上,当var1=1var2=0时为var3=1;等等。

2 个答案:

答案 0 :(得分:2)

我们可以使用|

df1$Var3 <- with(df1, +(Var1|Var2))
df1$Var3
#[1] 1 1 1 1 0

或求和,然后创建逻辑

df1$Var3 <- with(df1, as.integer((Var1 + Var2) > 0))

数据

df1 <- structure(list(Var1 = c(1L, 0L, 1L, 0L, 0L), Var2 = c(0L, 1L, 
1L, 1L, 0L)), row.names = c(NA, -5L), class = "data.frame")

答案 1 :(得分:2)

为此,您还可以使用:

pmax(Var1, Var2)

[1] 1 1 1 1 0