我需要从两个现有的二分变量生成一个新变量。示例:
Var1 = c(1,0,1,0,0)
Var2= c(0,1,1,1,0)
新变量应如下所示:
Var3= c(1,1,1,1,0)
基本上,当var1=1
和var2=0
时为var3=1
;等等。
答案 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