R: ifelse 语句给另一列赋值

R: ifelse statement to assign a value to another column

基于三个条件,我想分配值 1。如果我只使用一个 &,则以下代码有效(因此例如省略 2018)。

df[df17 == 1 & 
   df18 == 0 &
   df$x == -1, ]$y <- 1

我相信 ifelse 语句是我需要的,但我不明白如何在语句中将值 1 赋给列 y

非常感谢帮助

最好用逻辑向量对 'y' 进行子集化,而不是对整个数据集进行子集化,然后提取列

df$y[with(df, `2017` == 1 & 
                  `2018` == 0 &
                    x == -1)] <- 1

如果我们需要使用多个值,将==更改为%in%

df$y[with(df, `2017` == 1 & 
                  `2018` == 0 &
                    x == -1 &
                  `2019` %in% c(0, 1))] <- 1