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
基于三个条件,我想分配值 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