В базе R, используя вложенный оператор ifelse
, вы можете сделать:
transform(df, rule3 = ifelse(rule1 == 1 & rule2 == 1, 'b',
ifelse(rule1 == 0 & rule2 == 1, 'a',
ifelse(rule1 == 1 & rule2 == 0, 'c', NA))))
# Id rule1 rule2 rule3
#1 o1 0 1 a
#2 o2 0 1 a
#3 o3 1 1 b
#4 o4 1 0 c
data
df <- structure(list(Id = structure(1:4, .Label = c("o1", "o2", "o3",
"o4"), class = "factor"), rule1 = c(0L, 0L, 1L, 1L), rule2 = c(1L,
1L, 1L, 0L)), row.names = c(NA, -4L), class = "data.frame")